民众......可能是一个简单的问题,但我找不到简单的答案。假设在ASP或ASPx页面中分析了以下XML结构。
<level1>
<Block1>
<codes>
<a>XS</a>
<b>SM</b>
<c>M</c>
<d>L</d>
<e>XL</e>
</codes>
</Block1>
<Block2>
<codes>
<a>XP</a>
<b>P</b>
<c>M</c>
<d>G</d>
<e>XG</e>
</codes>
</Block2>
</level1>
现在,我可以和我一样使用VBS代码
For each L2Element in L1.Childnodes...
迭代级别,块和代码。但是,如果我真的只对获取标记<c> in <Block2>
的文本感兴趣,是否有一种简单的方法可以直接获取它而无需遍历所有级别,块和代码?
感谢.... RDK
答案 0 :(得分:1)
您可以使用XPath查询所需的节点。
Dim xmlDoc : Set xmlDoc = [your xml document here]
xmlDoc.setProperty "SelectionLanguage", "XPath"
然后,您可以按如下方式选择所需的节点:
Dim oNode
Set oNode = xmlDoc.selectSingleNode("//Block2/codes/c")
然后,您可以从oNode
检索值。不过,不要忘记先检查它是Nothing
。如果XPath查询没有找到它的目标,则oNode将等于Nothing
。
如果要选择多个节点,还有一个selectNodes()
方法,您也可以使用它来使用XPath。它将返回一个节点集合,这些节点具有length
属性,您可以使用它来迭代它们。使用item(index)
访问集合的每个节点。