Replacing xml Text

后端 未结 1 991
暗喜
暗喜 2020-12-12 03:39

I have a xml file which contains the following tags:


    READER FOREVER LEADER


        
相关标签:
1条回答
  • 2020-12-12 04:30

    With more than a little help from the first hit for the obvious google search, I modified my answer from here to get:

      Dim oFS    : Set oFS  = CreateObject("Scripting.FileSystemObject")
      Dim sFSpec : sFSpec   = goFS.GetAbsolutePathName("..\testdata\xml\so15393560.xml")
      Dim sNS    : sNS      = "xmlns:gmd='urn:x:y:z:1'  xmlns:gco='urn:x:y:z:1'"
      Dim oXML   : Set oXML = CreateObject("Msxml2.DOMDocument")
      oXML.setProperty "SelectionLanguage", "XPath"
      oXML.setProperty "SelectionNamespaces", sNS
      oXML.async = False
      oXML.load sFSpec
      If 0 = oXML.parseError Then
         WScript.Echo oXML.xml
         WScript.Echo "-----------------"
         Dim sXPath : sXPath    = "/gmd:title/gco:CharacterString"
         Dim ndFnd  : Set ndFnd = oXML.selectSingleNode(sXPath)
         If ndFnd Is Nothing Then
            WScript.Echo sXPath, "not found"
         Else
            WScript.Echo ndFnd.text
            WScript.Echo "-----------------"
            ndFnd.text = "Abracadabra"
            WScript.Echo oXML.xml
         End If
      Else
         WScript.Echo oXML.parseError.reason
      End If
    

    output:

    <gmd:title xmlns:gmd="urn:x:y:z:1" xmlns:gco="urn:x:y:z:1">
            <gco:CharacterString>READER FOREVER LEADER</gco:CharacterString>
    </gmd:title>
    
    -----------------
    READER FOREVER LEADER
    -----------------
    <gmd:title xmlns:gmd="urn:x:y:z:1" xmlns:gco="urn:x:y:z:1">
            <gco:CharacterString>Abracadabra</gco:CharacterString>
    </gmd:title>
    
    0 讨论(0)
提交回复
热议问题