我有段时间没用VB了。我在某些XML上运行XPATH查询时遇到了问题。
我有以下XML:
<configuration>
<my.app.application>
<dummydatasets>
<dummydataset tag="\\server\XX_YY_ZZ" />
<dummydataset tag="default" mode="random" />
</dummydatasets>
</my.app.application>
</configuration>我正在尝试使用XPATH查找虚拟数据集。要计算的XPATH是:
//configuration/my.app.application/dummydatasets/dummydataset @tag="\server\XX_YY_ZZ"
这是双反斜杠,"server",斜杠,"XX_YY_ZZ“。
VB6代码如下:
Dim xmlDoc As New DOMDocument
If xmlDoc.Load(path to xml) Then
Dim theTag As String
theTag = "\\server\XX_YY_ZZ"
Dim xPathQuery As String
xPathQuery = "//configuration/my.app.application/dummydatasets/dummydataset [@tag='" & theTag & "']"
Set xmlNode = xmlDoc.selectSingleNode(xPathQuery)
End If找不到标签。xmlNode设置为零。但是,使用诸如这样的实用工具,我可以输入XPATH并找到节点。但是,如果我选择默认标记,则代码可以正常工作。
我不认为使用反斜杠和下划线标记属性的文本会出现问题。我希望我错了。
任何想法,
谢谢
安迪兹
发布于 2012-01-12 14:54:52
我测试了这个,问题是反斜杠。下划线是好的,但反斜杠引起了问题。
在创建SelectionLanguage之后,需要在DOMDocument中指定它:
xmlDoc.setProperty "SelectionLanguage", "XPath"这是源页。
https://stackoverflow.com/questions/8836590
复制相似问题