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

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

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

    編程之道

    無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進(jìn)的動力! 聯(lián)系我

    如何通過VB處理XML

    1. 首先要引用一個Microsoft XML 隨便選個版本。
    2. 在初始化的時候讀取XML顯示到TXTBOX中,代碼如下:
      '通過2進(jìn)制流將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。傳進(jìn)去一個XML地址,如果裝載不成功就error,成功則執(zhí)行下一步
      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個讀節(jié)點的方法:
      1. selectNodes() 如果根節(jié)點下有多個子節(jié)點就要用這個方法,item定義了第幾個子節(jié)點
      2. selectSingleNode()如果根節(jié)點下只有一個字節(jié)點可以用這個方法

      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. 讀節(jié)點。 call fstrReadNode("/test/user") ,參數(shù)是test節(jié)點下的user子節(jié)點
      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. 寫節(jié)點。參數(shù)1:節(jié)點;參數(shù)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


    轉(zhuǎn)自:http://blog.csdn.net/kinytx/

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

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

    ' 創(chuàng)建相關(guān)對象
    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  ' 設(shè)置ServerHTTPRequest 屬性為 True 為了通過http協(xié)議載入xml文檔
    xmldoc.async = False ' 設(shè)置 async屬性為 False 關(guān)閉異步調(diào)用
    xmldoc.resolveExternals = True ' 設(shè)置 resolveExternals 為 True 打開外部DTD分析
    xmldoc.validateOnParse = False ' 設(shè)置 validateOnParse 為 False 允許文檔驗證
    xmldoc.load xmlfile ' 讀取xml文檔
    Do While (xmldoc.ReadyState < 4)  ' 檢查ReadyState狀態(tài)值是否為4 ' 具體數(shù)值定義參見msxml sdk document
       xmldoc.waitForResponse 10 ' 通過waitForResponse方法等待文檔完全讀取完畢 ' 如果為讀取完成,系統(tǒng)暫停10毫秒
    Loop

    ' 轉(zhuǎn)換xml -> html 并輸出文檔
    xmldoc.transformNodeToObject xsldoc,Response

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

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


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产免费私拍一区二区三区| 亚洲色图在线播放| 在线观看黄片免费入口不卡| 亚洲成A∨人片在线观看不卡| 99re热精品视频国产免费| 久久精品亚洲AV久久久无码| 全亚洲最新黄色特级网站| 玖玖在线免费视频| 在线综合亚洲欧洲综合网站| 中文字幕亚洲无线码a| 最近2019中文字幕免费大全5| 国产AV无码专区亚洲AV麻豆丫| 亚洲AV无码国产精品麻豆天美| 久久久久久久久免费看无码| 青柠影视在线观看免费高清 | 亚洲国产午夜福利在线播放| 伊人久久免费视频| 色偷偷尼玛图亚洲综合| 亚洲av永久无码精品古装片| 国产伦一区二区三区免费| 免费无遮挡无码永久视频| 免费的黄色网页在线免费观看| 亚洲欧洲精品在线| 亚洲一级Av无码毛片久久精品| 一二三四免费观看在线视频中文版 | 日本免费中文字幕在线看| 日本黄色动图免费在线观看| 精品无码专区亚洲| 亚洲性无码av在线| 亚洲欭美日韩颜射在线二| 免费看的黄色大片| 30岁的女人韩剧免费观看| yy一级毛片免费视频| 亚洲午夜理论片在线观看| 亚洲丝袜美腿视频| 2048亚洲精品国产| 国产精品色午夜免费视频| 国产成人精品免费视| 久久青草国产免费观看| 久青草视频97国内免费影视| 羞羞漫画登录页面免费|