VBScript和Xpath不包括重复项

时间:2012-09-28 15:58:48

标签: xml xpath vbscript msxml3

我正在尝试使用vbscript从XML文档中提取名称。

XML文档结构

<Aliases>
    <Alias PartyType="DF" CaseID="000000" NameType=""> Name Name</Alias>
    <Alias PartyType="DF" CaseID="000000" NameType=""> Name Name</Alias>
    <Alias PartyType="DF" CaseID="000000" NameType=""> Name Name</Alias>
    ...
</Aliases>

XML文件可能有100行具有相同名称来自几个不同的CaseID,因为对于我的vbscript的这部分,我试图从所有情况中提取所有不同的名称,但这里是问题,我不想返回重复项。

有没有办法用xPath Expression执行此操作,还是应该尝试使用VBScript执行此操作?

更新

使用下面的答案我现在收到以下错误

  

msxml3.dll:预期令牌')'找到':'。

     

别名/别名[@ PartyType ='DF'而不是(./ text()= previous-sibling - &gt;:&lt; - :* / text())]

我试过

Aliases/Alias[@PartyType='DF' and not(./text() = preceding::/*text())]

认为应用程序可能正在使用MSXML.net而不是MSXML3 它仍然给了我同样的错误。

???

1 个答案:

答案 0 :(得分:1)

像这样的事可能

/Aliases/Alias[not(./text() = preceding-sibling::*/text())]

(我没试过,但它应该有效)