我正在使用以下方式将VBScript文件中的XML文件加载
Set xmlDoc = CreateObject("MSXML2.DOMDocument.3.0")
xmlDoc.Async = "False"
xmlDoc.Load("C:\languageContent.xml")
XML的命名空间设置如下
<languageDefinition xmlns:xml="http://www.w3.org/XML/1998/namespace">
我似乎无法访问文档中的任何文本节点。
我使用了以下
ns = "xmlns:xml='http://www.w3.org/XML/1998/namespace'"
xmlDoc.setProperty "SelectionNamespaces", ns
但是这引发了一个错误,即“ xml”是保留的字符串。
xml如下
<?xml version="1.0" encoding="utf-8"?>
<languageDefinition xmlns:xml="http://www.w3.org/XML/1998/namespace">
<colourGroups>
<group id='1' colour='0x5b9bd5'>
<text xml:lang='en'>Group 1</text>
</group>
</colourGroups>
</languageDefinition>
我有以下代码
xmlText = xmlDoc.selectNodes("/languageDefinition/colourGroups/group/text[@xml:lang='en']")(0).text
我希望它输出Group 1
但是相反,我得到了保留字符串'xml'的错误。
如果我将xml文件中的命名空间更改为
<languageDefinition xmlns:blah="http://www.w3.org/XML/1998/namespace">
并将我的vbscript更改为
xmlDoc.setProperty "SelectionNamespaces", "xmlns:blah='" & uri & "'"
然后一切都会按预期进行。
但是...我无法更改提供给我们的xml。