xml - 使用xpath的数组位置

标签 xml xpath talend

如何使用xpath获取元素的位置。例子我有一个XML如下。

<a>
  <b>
    <c>
        <ID>12324234</ID>
        <FirstName>Something</FirstName>
        <LastName>Somethingelse</LastName>
    </c>
    <c>
        <ID>12324235</ID>
        <FirstName>Something</FirstName>
        <LastName>Somethingelse</LastName>
    </c>
  </b>
</a>


我正在尝试使用xpath表达式id提取元素/a/b/c/ID/text()。我所坚持的是,我也想提取职位。



12324234 , 1
12324235 , 2


逗号仅用于理解。我可以使用上面提到的xpath作为第一步提取数据,然后使用xpath定位。请注意,数组可以有n个值,但不限于2。

我尝试过计数,位置等,但是没有运气。谁能建议我一些选择

最佳答案

您可以尝试在XPath下面获取所需的输出:

/a/b/c/concat(./ID/text(), ", ", (count(./preceding-sibling::c/ID) + 1))


输出:

12324234, 1
12324235, 2

关于xml - 使用xpath的数组位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48595008/

相关文章:

xml - XPath如何动态创建属性的路径

java - 使用 JAXB 读取和写入 XML 文件时处理 org.xml.sax.SAXParseException

talend - 如何在 Talend Open Studio 中记录任务进度?

java - 读取Java组件中的REST查询参数

c# - 在 UTF16 列中存储 UTF8 数据

在一个巨大的目录中转换 XML 时出现 java.lang.OutOfMemoryError

PHP RegisterXPathNamespace - 来源不明的 XML 前缀

mysql - mule xpath 提取值 mysql

java - 我可以列出使用 selenium webDriver 时具有特定共享名称的所有元素吗

java - 以编程方式初始化属性文件时,log4j2 monitorInterval 属性不起作用