<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    編程之道

    無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

    如何通過VB處理XML

    1. 首先要引用一個Microsoft XML 隨便選個版本。
    2. 在初始化的時候讀取XML顯示到TXTBOX中,代碼如下:
      '通過2進制流將XML文件讀出來,也可以是其它文件格式
      Private
       Function pstrUpdateView(istrXMLPath As StringAs String
          
      Dim wlngFreeFile As Long
          
      Dim wbytwbytLoadBytes() As Byte
          '獲得一個空閑文件號
          wlngFreeFile 
      = FreeFile
          Open istrXMLPath 
      For Binary As #wlngFreeFile
          
      ReDim wbytLoadBytes(1 To LOF(wlngFreeFile)) As Byte
          
      Get #wlngFreeFile, , wbytLoadBytes
          Close wlngFreeFile
          
          pstrUpdateView 
      = StrConv(wbytLoadBytes, vbUnicode)
      End Function
    3. 裝載XML。傳進去一個XML地址,如果裝載不成功就error,成功則執行下一步
      Private Sub fsubLoadXML(istrXMLPath As String)
          
      Set pobjXMLDoc = CreateObject("MSXML2.DOMDocument")
          
      If pobjXMLDoc.Load(istrXMLPath) = False Then
              
      On Error GoTo LoadXMLErr:
          
      End If
          
          
      On Error GoTo 0
          
      Exit Sub
      LoadXMLErr:
          
      Dim myErr
          
      Set myErr = pobjXMLDoc.parseError
          
      MsgBox ("ERROR:" & myErr.reason)
          
      Set myErr = Nothing
      End Sub
    4. 讀屬性。DOMDocument對象里有2個讀節點的方法:
      1. selectNodes() 如果根節點下有多個子節點就要用這個方法,item定義了第幾個子節點
      2. selectSingleNode()如果根節點下只有一個字節點可以用這個方法

      1. Private Function fstrReadAttr(istrNodes As String, istrAttribute As StringAs String
        On Error GoTo ErrHandle:
            
        Dim wobjXmlAttr As MSXML2.IXMLDOMAttribute
            
        '
        '
            Set wobjXmlAttr = pobjXMLDoc.selectNodes(istrNodes).Item(0).Attributes.getNamedItem(istrAttribute)
            '
            Set wobjXmlAttr = pobjXMLDoc.selectSingleNode(istrNodes).Attributes.getNamedItem(istrAttribute)
            fstrReadAttr 
        = wobjXmlAttr.Text
            
            
        'destroy object
            Set wobjXmlAttr = Nothing
            
        On Error GoTo 0
            
        Exit Function
        ErrHandle:
            
        MsgBox Err.Description
            
        Set wobjXmlAttr = Nothing
        End Function
    5. 讀節點。 call fstrReadNode("/test/user") ,參數是test節點下的user子節點
      Private Function fstrReadNode(istrNodes As StringAs String
          
      Dim xNode As MSXML2.IXMLDOMNode
          
      Set xNode = pobjXMLDoc.selectSingleNode(istrNodes)
          fstrReadNode 
      = xNode.Text
          
      Set xNode = Nothing
      End Function
    6. 寫節點。參數1:節點;參數2:需要寫入的值

      Private Sub fsubWriteNode(istrNodes As String, istrValue As String)
          
      Dim wobjXMLNode As IXMLDOMElement
          
          
      Set wobjXMLNode = pobjXMLDoc.documentElement.selectNodes(istrNodes).Item(0)

          wobjXMLNode.Text 
      = istrValue

           Set wobjXMLNode = Nothing
      End Sub


    a sample :download


    轉自:http://blog.csdn.net/kinytx/

    MSXML 處理 xml 文檔時外部DTD定義的問題(ASP)
    項目中碰到這個問題,所以也貼了出來

    xmlfile = "http://myserver/catalog.xml"
    xslfile 
    = "catalog.xsl"

    ' 創建相關對象
    Set xslDoc = server.CreateObject("MSXML2.FreeThreadedDOMDocument")
    Set xmlDoc = server.CreateObject("MSXML2.DOMDocument")

    ' 讀取xsl文件
    xsldoc.async = False
    xsldoc.resolveExternals 
    = True
    xsldoc.load server.MapPath(xslfile)
    ' 讀取xml文件
    xmldoc.setProperty "ServerHTTPRequest",True  ' 設置ServerHTTPRequest 屬性為 True 為了通過http協議載入xml文檔
    xmldoc.async = False ' 設置 async屬性為 False 關閉異步調用
    xmldoc.resolveExternals = True ' 設置 resolveExternals 為 True 打開外部DTD分析
    xmldoc.validateOnParse = False ' 設置 validateOnParse 為 False 允許文檔驗證
    xmldoc.load xmlfile ' 讀取xml文檔
    Do While (xmldoc.ReadyState < 4)  ' 檢查ReadyState狀態值是否為4 ' 具體數值定義參見msxml sdk document
       xmldoc.waitForResponse 10 ' 通過waitForResponse方法等待文檔完全讀取完畢 ' 如果為讀取完成,系統暫停10毫秒
    Loop

    ' 轉換xml -> html 并輸出文檔
    xmldoc.transformNodeToObject xsldoc,Response

    ' 清空對象
    Set xslt = Nothing
    Set xsldoc = Nothing
    Set xmldoc = Nothing

    posted on 2006-01-19 14:52 瘋流成性 閱讀(5334) 評論(0)  編輯  收藏 所屬分類: VB項目


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成a人片亚洲日本久久| 亚洲精品第五页中文字幕| 亚洲AV日韩AV无码污污网站| 免费在线观看的网站| 性xxxx黑人与亚洲| 亚色九九九全国免费视频| 67194在线午夜亚洲| 久久久久久久久免费看无码| 亚洲精品无码专区| 亚洲Aⅴ无码一区二区二三区软件| 黄色一级视频免费观看| 亚洲午夜久久久久久久久久| 国产色爽免费无码视频| 亚洲国产天堂在线观看| 青青视频观看免费99| 亚洲精品中文字幕无码A片老| 内射无码专区久久亚洲| GOGOGO免费观看国语| 亚洲国产成人一区二区精品区| 人妻无码久久一区二区三区免费| 亚洲免费在线视频观看| 日产乱码一卡二卡三免费| 人妻仑乱A级毛片免费看| 亚洲天堂久久精品| 免费看的一级毛片| 巨胸狂喷奶水视频www网站免费| 亚洲国产精品自在在线观看| 女人被弄到高潮的免费视频| 久草免费福利在线| 亚洲喷奶水中文字幕电影| 四虎国产精品免费视| 亚洲一区免费观看| 337p日本欧洲亚洲大胆人人 | 亚洲avav天堂av在线网爱情| 国产又大又长又粗又硬的免费视频| www免费插插视频| 亚洲最大黄色网站| 亚洲精品无码日韩国产不卡?V| 免费视频成人片在线观看| 亚洲av无码专区亚洲av不卡| 久久久久久亚洲精品|