【发布时间】:2014-09-10 18:52:39
【问题描述】:
在下面的例子1中要访问DS2438的Vdd单位的值我可以使用如下语法:
-
(//*[local-name() = 'Vdd'])[2]找到5.550000和 -
(//*[local-name() = 'Vdd'])[1]找到4.280000。
每个<owd_DS2438> 都链接到一个物理捕获者,每个捕获者都由唯一ID <ROMId> 标识。 XML 文件中的位置可以更改。
问题:如何使用 XPATH 在以下 2 个示例中为特定 <ROMId> 找到相同的值?
示例 1:
<?xml version="1.0" encoding="UTF-8"?>
<Devices-Detail-Response xmlns="http://www.embeddeddatasystems.com/schema/owserver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DeviceName>OWServer_v2-Enet</DeviceName>
<HostName>EDSOWSERVER2</HostName>
<MACAddress>00:04:A3:F8:62:7B</MACAddress>
<DateTime>2014-09-06 01:02:39</DateTime>
<owd_DS2438 Description="Smart battery monitor">
<Name>DS2438</Name>
<ROMId>C100000140ABC126</ROMId>
<Temperature Units="Centigrade">20.9375</Temperature>
<Vdd Units="Volts">4.280000</Vdd>
<Vad Units="Volts">10.230000</Vad>
</owd_DS2438>
<owd_DS2438 Description="Smart battery monitor">
<Name>DS2438</Name>
<ROMId>C100000140ABC127</ROMId>
<Temperature Units="Centigrade">20.9375</Temperature>
<Vdd Units="Volts">5.550000</Vdd>
<Vad Units="Volts">10.230000</Vad>
</owd_DS2438>
</Devices-Detail-Response>
示例 2:
<?xml version="1.0" encoding="UTF-8"?>
<Devices-Detail-Response xmlns="http://www.embeddeddatasystems.com/schema/owserver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DeviceName>OWServer_v2-Enet</DeviceName>
<HostName>EDSOWSERVER2</HostName>
<MACAddress>00:04:A3:F8:62:7B</MACAddress>
<DateTime>2014-09-06 01:02:39</DateTime>
<owd_DS2438 Description="Smart battery monitor">
<Name>DS2438</Name>
<ROMId>C100000140ABC127</ROMId>
<Temperature Units="Centigrade">20.9375</Temperature>
<Vdd Units="Volts">5.550000</Vdd>
<Vad Units="Volts">10.230000</Vad>
</owd_DS2438>
<owd_DS2438 Description="Smart battery monitor">
<Name>DS2438</Name>
<ROMId>C100000140ABC126</ROMId>
<Temperature Units="Centigrade">20.9375</Temperature>
<Vdd Units="Volts">4.280000</Vdd>
<Vad Units="Volts">10.230000</Vad>
</owd_DS2438>
</Devices-Detail-Response>
提前致谢 斯蒂芬
【问题讨论】:
-
我的回答对你有用吗?
标签: xml testing xpath namespaces xml-namespaces