样品:
...
<PEOPLE>
<PERSON>JOHN, the fighter<PERSON/>
<PERSON>SALLY, the visionary<PERSON/>
<PGROUP>
<PERSON>YOYO<PERSON/>
<PERSON>BENJI<PERSON/>
</PGROUP>
<PERSON>builders<PERSON/>
<PERSON>cleaners<PERSON/>
<PGROUP>
<PERSON>Clowny, good person<PERSON/>
<PERSON>Clownee, bad person<PERSON/>
</PGROUP>
<PERSON>Gentleman<PERSON/>
</PEOPLE>
...
我想插入一个字符串并找到那个人(如果存在):John,建设者,小丑(应该返回第一个出现=> Clowny,好人),战斗机,......
我尝试过这些东西,但似乎没有人给我一个结果或我想要的结果:
// PERSON将选择所有人;包含(人, ' “+字符串searchstr +”'); // PERSON [1]将选择3人; // PERSON [PERSON ='YOYO']不起作用
到目前为止,这些都没有奏效。我希望返回全名。
编辑:
如果找到searchStr,则返回1(输入是精确的)。没有计数它返回PEOPLE。如果找到搜索到的人,则使用/ PERSON附加表达式始终返回第一个人。
count(// PEOPLE [// PERSON =“Clowny,good person”])
如果将来有人需要,我会留下这个问题。
正确的方法是查找文本()
//PERSON[contains(text(),"vision")]/text()
选择PERSON的text()包含searchStr的PERSON然后返回它的文本()