如何通过UFT中的索引变量引用xml节点?

时间:2015-10-23 19:08:56

标签: vbscript qtp hp-uft

我正在尝试编辑许多xml文件。我想编辑的第一个节点位于所有文件的顶部,并且可以轻松更改。第二个节点是可变索引,具体取决于我尝试编辑的文件。我可以轻松找到节点,如果我用数字引用它,甚至可以编辑正确的节点。但是,如果我通过计数器变量引用它,我就无法编辑节点。这可能使用UFT吗?以下是我到目前为止的情况。

import json
print("\n".join(x+"  "+ y for x,y in json.load(open("fname.txt" ,"rb")).iteritems()))

我运行时遇到错误,但是,如果我更改了行:

设置editNode = xmlDoc.selectsinglenode(“/ Device / MassStorageMode / UpdateFile [125] / Version / Major”)

在这种特殊情况下使用我的索引变量的值,一切都按预期执行。我需要能够用索引变量替换数字。

1 个答案:

答案 0 :(得分:0)

您需要连接(&)将变量的内容拼接成字符串:

>> counter = 125
>> s = "/Device/MassStorageMode/UpdateFile[counter]/Version/Major"
>> WScript.Echo 1, s
>> s = "/Device/MassStorageMode/UpdateFile[" & counter & "]/Version/Major"
>> WScript.Echo 2, s
>>
1 /Device/MassStorageMode/UpdateFile[counter]/Version/Major
2 /Device/MassStorageMode/UpdateFile[125]/Version/Major