xml - 使用包含功能的XPath查询

标签 xml xpath

我正在以下XML文档中尝试XPath查询

<?xml version="1.0" encoding="utf-8"?>
<diccionarios>
  <diccionario>
    <nombre>Diccionario de la Real Academia Española</nombre>
    <siglas>DRAE</siglas>
    <definicion>
      <palabra>ordenador, ra</palabra>
      <punto>Que ordena.</punto>
      <punto>Jefe de una ordenación de pagos u oficina de cuenta y razón.</punto>
      <punto>Máquina electrónica ...</punto>
    </definicion>
    <definicion>
      <palabra>monitor, ra.</palabra>
      <punto>Persona que guía el aprendizaje deportivo, cultural, etc.</punto>
      <punto>Hombre que amonesta o avisa.</punto>
      <punto>Aparato receptor ...</punto>
    </definicion>
  </diccionario>
</diccionarios>


我需要获取在palabras标记中包含字符串'...'punto标记。
我试过了

//definicion[contains(punto,'...')]/palabra 


但我认为它只会检查punto标记的首次出现。感谢帮助。

最佳答案

您需要查看contains()作为参数的内容。您正在传递一个元素,但它期望使用字符串。谓词也有一些问题。这就是您想要的:

//definicion[punto/text()[contains(.,'...')]]/palabra

关于xml - 使用包含功能的XPath查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24106220/

相关文章:

java - 提高 SQL 从 JDBC (SQL Server) 插入 XML 列的速度

python - ExpectedCondition.invisibility_of_element_located 需要更多时间(selenium web driver-python)

android - 更改android中actionbar项目的文本大小

python - 如何使用 xml 中的 xpath 访问其他标签深处的标签?

python - xpath:如何在 <strong> 元素之前、之中和之后提取文本

javascript - 在 Greasemonkey 中合并 getComputedStyle 和 evaluate

xpath - XPath:递归祖先搜索

c# - Linq 到 XML : Queries for If blocks C#

c# - XDocument 在一行中写入特定的 XElement

javascript - 将多页 html 导出为单个 pdf