【问题标题】:Xpath getting node without node child contentsXpath获取没有节点子内容的节点
【发布时间】:2011-07-20 22:24:35
【问题描述】:

嘿,伙计们无法解决这个问题。我的 html 结构如下:

<div class="review-text">
<div id="reviewerprofile">
<div id="revimg"></div>
<div id="reviewr">marc</div>
<div id="revdate">2011-07-06</div>
</div>
this is an awesome review

</div>

我想要得到的只是文本“这是一个很棒的评论”,但每次我查询节点时,我也会得到孩子们的其他内容。现在使用类似这样的东西 ".//div[@class='review-text']" 如何仅获取该文本?非常喜欢你

【问题讨论】:

    标签: xpath


    【解决方案1】:

    你快到了!只需在 XPath 末尾添加 /text() 即可获取文本节点。

    【讨论】:

      【解决方案2】:

      XPath 表达式(例如 //div)返回一组节点,在本例中为 div 元素。这些实际上是指向原始树中原始节点的指针;节点仍然连接到它们的父母、孩子、祖先和兄弟姐妹。如果您看到 div 元素的子元素并且不想要它们,这不是 XPath 处理器的错,而是任何软件处理 XPath 表达式返回的结果的错。

      您可以按照建议使用 /text() 来获取 div 元素的直接子元素的文本。但是,这假设您确切地知道您希望在 HTML 页面中找到什么 - 如果“awesome”是斜体,它会给您带来不同的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-30
        • 1970-01-01
        • 2015-06-30
        • 2012-06-24
        • 2012-09-17
        相关资源
        最近更新 更多