0

伙计们......可能是一个简单的问题,但我一直无法找到简单的答案。假设在 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

4

1 回答 1

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第一个。Nothing如果 XPath 查询没有找到它的目标,oNode 将等于。

如果您想选择多个节点,还有一种selectNodes()方法可以使用 XPath。它将返回一个节点集合,该集合具有length可用于迭代它们的属性。使用 访问集合的每个节点item(index)

于 2013-05-29T20:47:48.787 回答