xpath查询问题

时间:2011-07-25 06:16:57

标签: iphone xml xpath

下面是我的xml文档,现在我的查询是:/description/*/text(),我可以获取所有文本,但<strong> lunch </strong>里面的文本“午餐”没有显示。

这可能是一个简单的修复,但我无法正确解决。

<description>
<![CDATA[
<p>
     Envie is a brand new Bar Lounge that offers a modern-design space opening onto Wyndham Street, where on busy nights the crowd spills out onto the street...
</p>
<p>
     If you are in for a <strong>lunch</strong>, the Twangoo voucher will offer you two delicious Lunches &ndash; perfect for that lunch meeting, a casual date or just a get together with friends in a relaxed and modern atmosphere.
</p> ]]>
</description>

2 个答案:

答案 0 :(得分:3)

尝试

/description//text()

现在,您只为描述的所有子节点选择每个文本。

如果您使用//text()代替;您正在为当前节点(描述)的后代所有节点选择每个文本。

答案 1 :(得分:0)

您的查询/ description / * / text()选择description元素的元素子节点的文本节点子节点。但是description元素没有元素子元素。它会有,除了CDATA告诉解析器不要将<p>...</p>内容视为标记,而是将其作为纯文本。我不知道为什么XML将这些内容包装在CDATA中,但它使得处理或查询它变得更加困难。