beibeiyier 发表于 2012-9-6 16:10:50

VBS 修改XML文件的问题

现在需要对某个XML文件的一个标记中的值进行修改,比如
<root>
    <BIG>
                <BIG01>20111024</BIG01>
                <BIG02>2253-11</BIG02>
                <BIG03>20110810</BIG03>
                <BIG04>PO-0666-41</BIG04>
                <BIG07>AI</BIG07>
        </BIG>
</root>
需要把<BIG02>中2253-11改为当前日期,我写了以下代码,但不知道为什么不执行If之后的语句,应该是条件不满足,不知道应该怎么样修改,请各位大侠帮忙看看吧~感激膜拜啊~
Dimxmldoc,a
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False   
xmlDoc.load "c:\TEMP\For case_ 0245.xml"
a=date()
msgbox (a)
If xmlDoc.parseError.errorCode <> 0 Then   
   Set myErr = xmlDoc.parseError
   MsgBox("XML Loads Failed. " & myErr.reason)
End If
      Set rootNode = xmlDoc.documentElement
               
                        Set BIGnode=rootNode.childnodes(3)
                        Set BIG02node=BIGnode.childnodes(1)

             If BIG02node.nodevalue="<BIG02>2253-11</BIG02>" Then
         BIG02node.nodevalue=a
                   msgbox(BIG02node.nodevalue)
             End If
xmlDoc.save "test_save.xml"

lantianwei 发表于 2012-9-7 13:48:33

DimxmlDoc,a
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False   
xmlDoc.load "c:\b.xml"
a=date()
msgbox (a)

If xmlDoc.parseError.errorCode <> 0 Then   
        Set myErr = xmlDoc.parseError
        MsgBox "XML Loads Failed. " & myErr.reason
Else

        Set rootNode = xmlDoc.documentElement

        If rootNode.childnodes(0).childnodes(1).nodename="BIG02" Then
                rootNode.childnodes(0).childnodes(1).text=a
                msgbox(rootNode.childnodes(0).childnodes(1).text)
        End If
        xmlDoc.save "test_save.xml"
End If

Set xmlDoc=nothing

另外建议去网上找下标准的写法 应该有这样XML的类库

beibeiyier 发表于 2012-9-7 15:08:32

谢谢啊~~:victory:
页: [1]
查看完整版本: VBS 修改XML文件的问题