XPath选择的标记结果

时间:2017-03-27 13:03:19

标签: xml xpath

我有一个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来测试我的表情。

1 个答案:

答案 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