xml - 使用 XPath 在格式不佳的 XML 中查找 XML 同级

标签 xml rest xpath

我有一些从我试图用 XPath 解析的 REST 接口(interface)返回的 XML,其中的示例是:

            <parameter>
                <name>employee first name</name>
                <value>TestF</value>
            </parameter>
            <parameter>
                <name>employee id</name>
                <value>3345</value>
            </parameter>
            <parameter>
                <name>date of commencement</name>
                <value>02 Oct 2015, 10:52:00</value>
            </parameter>
            <parameter>
                <name>employee surname</name>
                <value>TestL</value>
            </parameter>

我很挣扎,因为所有节点的名称都相同,成对的 <name > <value >。

我想做的是找到一个<Parameter > 具有特定 <name 的节点> 节点并返回 <value > 该参数的节点,我希望这是有道理的!

我认为可行的是找到正确的<name > 节点,然后只需使用 'following-sibling' 函数来获取值,但我根本无法让它工作。

我最终得到的是:
//parameter/name[text()[contains(.,'team')]]/following-sibling::value

最后我还尝试了 value[1] 以及许多组合!

我可以用我正在寻找的任何东西替换“团队”,例如“员工 ID”。

最佳答案

您可以筛选parameter通过 name子元素内容然后返回对应的子元素value像这样:

//parameter[contains(name,'team')]/value

关于xml - 使用 XPath 在格式不佳的 XML 中查找 XML 同级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32899820/

相关文章:

android - ViewPager 项目布局中的 OnclickAction

xpath - XSLT 1.0 转换可以用作纯 XPath 1.0 位置路径评估器吗?

xml - preceding-sibling [1] 不是最后一个

xml - 将 xml 标签名称提取到 xml 属性值中

c# - XDocument.Parse 保留不需要的空格

xml - 警告 : Can not parse XML library list; XML support was disabled at compile time error

php - 将 SQL_Latin1_General_CP1_CI_AS 编码为 UTF-8

rest - 如何使用 FosRestBundle 公开函数结果?

java - RestTemplate 线程安全吗?

rest - 如何通过构建函数将GitHub的URL传递给Docker的REST API远程参数