如何使用XPath操作XML数据

时间:2012-04-14 01:27:30

标签: javascript xml xpath xfa

我在Acrobat JS中操作XML文件数据时遇到了麻烦。我已经有了一个XML文档并已阅读过它。现在XML如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
<mapData>
<busline>  
  <id>4</id>  
  <name>K222</name>
  <stationList>
  <station>  
  <name>FirstStation</name>
  <stationAnnotName>station</stationAnnotName>  
  <cordX>-309</cordX>   
  </station>  
  <station>  
  <name>222first</name>  
  <stationAnnotName>station3</stationAnnotName>
  <cordX>-315</cordX>  
  </station>  
  </stationList>  
</busline>  
<busline>  
  <id>5</id>  
  <name>K333</name>     <-----find busline name == K333 and delete this busline node
  <stationList>
  <station>  
  <name>ss</name>
  <stationAnnotName>station</stationAnnotName>  
  <cordX>-309</cordX>   
  </station>  
  <station>  
  <name>Target</name>    <-----query by this station name
  <stationAnnotName>station3</stationAnnotName>
  <cordX>*-315*</cordX>  <----need this value
  </station>  
  </stationList>  
</busline>
</mapData>
</xfa:data>

在Adobe Acrobat中,我们有一个方法调用XMLData.applyXPath(oXML,sringXPath)。 现在我想获取站点节点的cordX值,其名称== Target。换句话说,我们有许多不同的站点节点属于statinList-&gt; busline-&gt; mapData-&gt;(xfa:data?)

那么如何编写XPath来查找它,如果我想删除它有一个站节点名称的总线,那么Target.I将使用颜色来清除它。

所以我需要以其名称(红色)获取station.cordX              delte busine.name == K333(蓝色)

的总线

我很感激你的帮助。需要你的帮助尽快。

1 个答案:

答案 0 :(得分:0)

您可以检索名称标记值为Target的所有电台列表。

//busline/stationlist[name='Target']/name