XPath属性何时必须设置为XML DOM对象?
例如:XPath属性何时必须设置为XML DOM对象?,xpath,vbscript,msxml,Xpath,Vbscript,Msxml,例如: Set objXML = CreateObject("Microsoft.XMLDOM") objXML.async = False objXML.validateOnParse = False objXML.resolveExternals = False objXML.load("http://www.w3schools.com/dom/books.xml") 'objXML.setProperty "SelectionLanguage", "XPath" For Each x
Set objXML = CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.validateOnParse = False
objXML.resolveExternals = False
objXML.load("http://www.w3schools.com/dom/books.xml")
'objXML.setProperty "SelectionLanguage", "XPath"
For Each x In objXML.selectNodes("//book[@category='cooking' and @category='children']")
WScript.Echo x.text
Next
For Each y In objXML.selectNodes("//book[position()<3]")
WScript.Echo y.text
Next
如果我取消注释objXML.setProperty“SelectionLanguage”,“XPath”
这两个表达式都有效
我的问题是什么时候必须显式设置XPath属性,或者在不设置此属性的情况下执行什么类型的表达式?对于旧版本的MSXML,默认语言不是XPath
您已经使用旧的“版本独立ProgID”创建了DomDocument实例
Microsoft.XMLDOM
将MSXML 3.0(如果有)对应为支持独立ProgIDs的MSXML的最新版本。您可以按如下方式确定默认选择语言:
WScript.Echo objXML.getProperty("SelectionLanguage")
必须返回XSLPattern
,选择语言不支持类似position()
的方法XPath
是MSXML 4.0及更高版本的默认选择语言,因此正确使用XPath有两种选择
CreateObject(“MSXML2.DOMDocument.4.0”)
可以确保XPath在所有情况下都有效
WScript.Echo objXML.getProperty("SelectionLanguage")