我需要根据前面的元素文本获取第二个元素(Description
)的文本。
<world>
<continent>europe</continent>
<description>germany, france, italy, spain</description>
</world>
<world>
<continent>asia</continent>
<description>japan, thailand, china</description>
</world>
<world>
<continent>africa</continent>
<description>south africa, simbabwe, tansania</description>
</world>
的XPath:
//world[continent="africa"]/description
我尝试了几种变体,但没有任何效果。 任何想法?
答案 0 :(得分:2)
此XPath,
//world[continent="africa"]/description/text()
通过添加包装根元素 将 应用于您的XML,使其格式良好
将产生 。 <r>
<world>
<continent>europe</continent>
<description>germany, france, italy, spain</description>
</world>
<world>
<continent>asia</continent>
<description>japan, thailand, china</description>
</world>
<world>
<continent>africa</continent>
<description>south africa, simbabwe, tansania</description>
</world>
</r>
根据要求south africa, simbabwe, tansania
答案 1 :(得分:1)
我认为应该是
//world/continent[text()="africa"]/following-sibling::description/text()
这意味着:通过文本内容获取continent
节点等于“非洲”,并从那里获取下一个兄弟节点,这应该是描述。