zhangyunli1113 发表于 2010-3-29 15:26:54

vbs 修改xml

<?xml version="1.0" encoding="GBK"?>
<system-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <send-packets current-send-packet-id="0003" packet-amount-everytime="1">
                <packet id="210" business-id="000900000001|0001|0001" response-type="RT_NORMAL" source-name="TESTAGENT" destination-name="TEST" destination-address="127.0.0.1:9520">
                        <bmcc-mo-message-core dest-id="0432121" service-id="-TQBYAM" registered-delivery="0" message-format="15" src-terminal-id="电话号码" message-c/>
                </packet>
      </send-packets>
</system-config>

test.xml

紧急求救,我想通过vbs脚本修改以上这个xml文件中的src-terminal-id="电话号码" 和message-c的内容,应该如何处理呢?
先谢过了!

[ 本帖最后由 zhangyunli1113 于 2010-3-30 09:11 编辑 ]

shotstar 发表于 2010-3-29 15:33:36

额,没法给你详细代码。精华帖里有怎么用vbs操作xml文件的,建议你去看看。
总之弄清楚结构,然后找准节点去修改就可以了。

TIB 发表于 2010-4-9 15:42:35

一种方法是使用Microsoft.XMLDOM对象来处理XML内容

另外一种办法是用文本文件读写的方式来处理

TIB 发表于 2010-4-9 15:53:46

用XMLDOM的例子:
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = False   
xmlDoc.load "test.xml"
If xmlDoc.parseError.errorCode <> 0 Then   
   Set myErr = xmlDoc.parseError
   MsgBox("XML Loads Failed. " & myErr.reason)
Else
      Set rootNode = xmlDoc.documentElement

                rootNode.childNodes(0).childNodes(0).childNodes(0).attributes(4).nodeValue = "E-Mail"'修改节点值
                Print rootNode.childNodes(0).childNodes(0).childNodes(0).attributes(4).nodeValue

                rootNode.childNodes(0).childNodes(0).childNodes(0).attributes(5).nodeValue = "hello!"'修改节点值
                Print rootNode.childNodes(0).childNodes(0).childNodes(0).attributes(5).nodeValue

                xmlDoc.save "test_save.xml" ' 保存xml数据到另外一个文件
End If
页: [1]
查看完整版本: vbs 修改xml