【发布时间】:2011-08-04 04:29:27
【问题描述】:
我在使用 XPath 和包含函数时遇到问题。想象一下下面的 XML 示例:
<doc>
<Test>
<Name>1 Pre Histoy</Name>
<Type>Known</Type>
<Data>
<Name>Dinasor</Name>
<Name>Fish</Name>
</Data>
</Test>
<Test>
<Name>1 Post Histoy</Name>
<Type>Known</Type>
<Data>
<Name>Human</Name>
<Name>Dog</Name>
</Data>
</Test>
<Test>
<Name>1 Post Histoy</Name>
<Type>UNKNOWN</Type>
<Data>
<Name>Human</Name>
<Name>Dog</Name>
</Data>
</Test>
</doc>
所以我想要做的是返回 <Data> 节点内的所有 <Name> 文本,具有以下条件:
doc//Test/Name应包含“Pre”文本doc//Test/Type应该是“已知”
我需要的是这样的查询,但到目前为止我无法管理它
/doc//Test[Name contains(.,'Pre') and Type='Known']/data//Name
任何帮助和提示将不胜感激。
【问题讨论】:
-
那不应该是Data结尾有大写D吗?
-
我想是的,如果你把第一个字符算作结尾之一......
-
对不起,这只是一个例子。大写 D 也不会做任何事情。