51Testing软件测试论坛

标题: vbs 修改xml [打印本页]

作者: zhangyunli1113    时间: 2010-3-29 15:26
标题: 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
额,没法给你详细代码。精华帖里有怎么用vbs操作xml文件的,建议你去看看。
总之弄清楚结构,然后找准节点去修改就可以了。
作者: TIB    时间: 2010-4-9 15:42
一种方法是使用Microsoft.XMLDOM对象来处理XML内容

另外一种办法是用文本文件读写的方式来处理
作者: TIB    时间: 2010-4-9 15:53
用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




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2