【问题标题】:Determing XPath to retrieve values in XML确定 XPath 以检索 XML 中的值
【发布时间】:2012-09-01 17:36:20
【问题描述】:

请参考下面的示例 XML

<Actions>
    <Action>
        <Name>Forward</Name>
        <Value>Forward Assignment</Value>
        <panelID>Y0192_pnlForwad</panelID>
        <Status>Order Suspended</Status>
        <from>Shop</from>
        <to>Warehouse</to>
    </Action>
</Actions>

如果我知道“from”节点的值,如何使用XPath表达式确定“Name”和“Value”节点的对应值?

【问题讨论】:

  • 您需要有关如何检索此类节点的 XPath 查询帮助?我不确定我在这里是否清楚
  • 你的意思是这样的/Actions/Action[from='Shop']/*[self::Name or self::Value]
  • 你说得对,汤姆。这正是我的意思。感谢您的快速回复。
  • 一个简短的问题汤姆虽然。名称和值节点的位置是否重要。

标签: xml xpath


【解决方案1】:

如果我知道“来自”节点的值,我如何确定 使用 XPath 的“名称”和“值”节点的对应值 表达方式?

使用

/*/Action[from='Shop']/*[self::Name or self::Value]

这会选择任何名为 Name 或名为 Value 的元素,其父元素是 XML 文档顶部元素的 Action 子元素,并且(Action 父元素)有一个 from 子元素,其字符串值是字符串"Shop"

如果您希望单独选择(而不是一起)NameValue,可以通过评估两个 XPath 表达式来完成:

/*/Action[from='Shop']/Name

/*/Action[from='Shop']/Value

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多