如果XML由以下内容定义:
<xs:complexType name="Whatever" ....>
<xs:sequence>
<xs:element name="Tag" type="xs:string" minOccurs="0" maxOccurs="unbounded">
</xs:sequence>
</xs:complextType>
文档可以包含:
<ns:Whatever>
<ns:Tag>hello</ns:Tag>
<ns:Tag>Peter</ns:Tag>
<ns:Tag>how are you</ns:Tag>
</ns:Watever>
或者它可能包含:
<ns:Whatever>
<ns:Tag>hello</ns:Tag>
</ns:Watever>
如何编写XPath表达式来查找XML Whatever
元素,Tag
元素的并集将text()
与AND
运算符进行比较?
写/ns:Whatever[ns:Tag/text() = ('hello','Peter','how are you')]
匹配上述两个文档。我希望仅在Tag
的文字等于'hello'
和'Peter'
以及'how are you'
时才匹配。
答案 0 :(得分:0)
希望您的.xml包含拼写错误。
您需要或运营商而不是和:
<xsl:value-of select="/ns:Whatever/ns:Tag[ . = 'hello' or . = 'Peter' or . = 'how are you']"/>