我试图选择元素的子文本" value"单个"形式"其ID与tblXDAP-txtfXdapType - 1匹配。
这是我的XML样本
<form xsi:type="ns1:FormElement">
<ID xsi:type="soapenc:string">tblXDAP-txtfXdapType--1</ID>
<label xsi:type="soapenc:string">XDAP Type</label>
<labelValue xsi:nil="true" xsi:type="soapenc:string"/>
<type xsi:type="xsd:int">0</type>
<value xsi:type="soapenc:string">Win7 x64 Developer</value>
</form>
<form xsi:type="ns1:FormElement">
<ID xsi:type="soapenc:string">tblXDAP-txtfXdapUser--1</ID>
<label xsi:type="soapenc:string">User</label>
<labelValue xsi:nil="true" xsi:type="soapenc:string"/>
<type xsi:type="xsd:int">0</type>
<value xsi:type="soapenc:string"/>
</form>
<form xsi:type="ns1:FormElement">
<ID xsi:type="soapenc:string">tblXDAP-txtfXdapType--2</ID>
<label xsi:type="soapenc:string">XDAP Type</label>
<labelValue xsi:nil="true" xsi:type="soapenc:string"/>
<type xsi:type="xsd:int">0</type>
<value xsi:type="soapenc:string">Win7 x86 Standard</value>
</form>
我使用的是xPath //*[local-name()='form'][*[local-name()='ID'][starts-with(., 'tblXDAP-txtfXdapType--1')]]
,但我无法从此查询中选择值。在我的例子中,我想选择值&#34; Win7 x64 Developer&#34;
答案 0 :(得分:0)
假设XML片段是具有单个根元素的格式良好的XML的一部分,
<?xml version="1.0" encoding="UTF-8"?>
<r xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<form xsi:type="ns1:FormElement">
<ID xsi:type="soapenc:string">tblXDAP-txtfXdapType--1</ID>
<label xsi:type="soapenc:string">XDAP Type</label>
<labelValue xsi:nil="true" xsi:type="soapenc:string"/>
<type xsi:type="xsd:int">0</type>
<value xsi:type="soapenc:string">Win7 x64 Developer</value>
</form>
<form xsi:type="ns1:FormElement">
<ID xsi:type="soapenc:string">tblXDAP-txtfXdapUser--1</ID>
<label xsi:type="soapenc:string">User</label>
<labelValue xsi:nil="true" xsi:type="soapenc:string"/>
<type xsi:type="xsd:int">0</type>
<value xsi:type="soapenc:string"/>
</form>
<form xsi:type="ns1:FormElement">
<ID xsi:type="soapenc:string">tblXDAP-txtfXdapType--2</ID>
<label xsi:type="soapenc:string">XDAP Type</label>
<labelValue xsi:nil="true" xsi:type="soapenc:string"/>
<type xsi:type="xsd:int">0</type>
<value xsi:type="soapenc:string">Win7 x86 Standard</value>
</form>
</r>
然后是这个XPath,
string(//form[ID = 'tblXDAP-txtfXdapType--1']/value)
将选择value
的{{1}}元素的字符串值,form
符合指定,
ID
根据要求。