我有一个XPath表达式:
//gym/person/clientMembers/member[@membershipID='60410001']/name/text()
选择数据值: Charles McKlarkey
来自XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<gym>
<person>
<clientMembers>
<member membershipID ="60410001">
<name> Charles McKlarkey</name>
<contactNo> 02147483647 </contactNo>
<email> CharlesM@gmail.com </email>
<date-of-birth> 1986-02-20</date-of-birth>
<sex> Male </sex>
<expiryDate> 2017-02-22 </expiryDate>
<owns membershipType="Platinum"/>
</member>
</person>
</gym>
并希望对结果进行标记,以便最终查询返回&#34; Charles&#34; &#34; McKlarkey&#34;
我已经完成了Tokenize函数的一些操作,但似乎无法得到一个适用于此的函数。有人能帮忙吗?
我正在使用:http://www.xpathtester.com/xpath来测试我的表情。
答案 0 :(得分:0)
这是您正在使用的工具中的错误。它只能返回单个字符串结果。鉴于您当前的XML(假设clientMembers
元素已正确关闭),以下XPath的输出将有一个空字符串,因为在Charles&#39;之前有一个空格。在XML中:
//gym/person/clientMembers/member[@membershipID='60410001']/name/tokenize(., ' ')
<强> test 1
强>
当您从输入XML中删除该单个空格时,结果将只是&#39; Charles&#39; :
<强> test 2
强>
例如,使用another tool,相同XPath的结果符合预期:
Charles
McKlarkey
<强> test 3
强>