如何使用 xpath 或查询从 xml 中提取数据

How to use xpath or query to extract data from xml

我有一个 xml 文件看起来像

<info>

  <Data Name="ProcessName">-</Data> 
  <Data Name="IpAddress">10.1.2.118</Data> 
  <Data Name="IpPort">50118</Data> 
  <Data Name="ProcessName">-</Data> 
  <Data Name="IpAddress">10.1.2.119</Data> 
  <Data Name="IpPort">50118</Data> 
  <Data Name="ProcessName">-</Data> 
  <Data Name="IpAddress">10.1.2.120</Data> 
  <Data Name="IpPort">50118</Data> 
  <Data Name="ProcessName">-</Data> 
  <Data Name="IpAddress">10.1.2.157</Data> 
  <Data Name="IpPort">50118</Data> 


</info>

我需要提取具有name属性值="Ipaddress"[=21=的数据节点] 和节点值 =10.1.2.157,我如何使用任何 xml 查询技术

如果 XML 是您的整个文档,那么以下 XPath 应该 select 您需要的 Data 元素:

./info/Data[@Name='IpAddress'][.='10.1.2.157']

./info/Data 将匹配名为 Datainfo 的子节点,并且 [@Name='IpAddress'][.='10.1.2.157'] 包含两个谓词 - 一个匹配 Name 属性具有 "IpAddress" 的值,另一个与您指定的元素内容相匹配。