XPATH语法帮助 - 基于对等值获取值

时间:2014-01-22 17:45:26

标签: xml xpath

我正在尝试了解如何设置XPath,以便仅在serialdataserialname时帮助我在'Motion'中找到<file> <error>0</error> <gls> <mtsn>123</mtsn> <asset> <assetid>n/a</assetid> <assettype>None</assettype> <owner>My Company</owner> </asset> <messagetype>Event</messagetype> <binary> <inputname>Tether</inputname> <inputid>15</inputid> <event>E</event> <inputval>1</inputval> <inputstate>Tether</inputstate> <timeofreading>2014/01/22 16:50:30</timeofreading> </binary> <extpwr>0</extpwr> <serial> <serialtype>2</serialtype> <serialid>3</serialid> <serialname>Motion</serialname> <serialdata>Idle</serialdata> </serial> <serial> <serialtype>2</serialtype> <serialid>5</serialid> <serialname>Cargo</serialname> <serialdata>No answer</serialdata> </serial> <latitude>40.40299</latitude> <longitude>-86.85927</longitude> <battery>OK</battery> <time>2014/01/22 16:50:30</time> <quality>0</quality> <landmark> <geoname>Lafayette</geoname> <state>IN</state> <country>US</country> <distance>0.81</distance> <direction>SE</direction> <geotypename>GENERIC</geotypename> </landmark> <skyfence> <skyfencestatus>n/a</skyfencestatus> </skyfence> <epmflag>0</epmflag> <transid>21722229</transid> </gls> </file> 的值。

我想根据给定节点的值获取兄弟节点的值。

{{1}}

1 个答案:

答案 0 :(得分:1)

您的xml似乎不完整或不正确。

在下面的示例xml中尝试使用此xpath:

//串行[serialname = “运动”] / serialdata

示例xml:

<serial>
  <serialtype>2</serialtype>
  <serialid>3</serialid>
  <serialname>Motion</serialname>
  <serialdata>Idle</serialdata>
</serial>  
<serial>
  <serialtype>2</serialtype>
  <serialid>5</serialid>
  <serialname>Cargo</serialname>
  <serialdata>No answer</serialdata>
</serial>