これが私がZohoCRMから持っているXMLであり、レコードが主要な連絡先の電子メールを取得する必要があります。
<!--?xml version="1.0" encoding="UTF-8" ?-->
<response uri="/crm/private/xml/Contacts/getRelatedRecords">
<result>
<contacts>
<row no="1">
<fl val="CONTACTID">511618000000889989</fl>
<fl val="Email">
<!--[CDATA[person1@example.com]]-->
</fl>
<fl val="Primary">
<!--[CDATA[true]]-->
</fl>
</row>
<row no="2">
<fl val="CONTACTID">511617845475451213</fl>
<fl val="Email">
<!--[CDATA[person2@example.com]]-->
</fl>
<fl val="Primary">
<!--[CDATA[false]]-->
</fl>
</row>
</contacts>
</result>
</response>
上記の場合、xpath式は、プライマリである人の電子メールとしてperson1@example.comを返す必要があります。
私は次のように式を書き始めました:
/response/result/contacts/row[./fl/@val='Primary' and ]/fl[@val='Email']/text()
しかし、行要素の結合された述語を書くポイントを超えることはできません。
もう1つの問題は名前空間です。このXMLには名前空間があるようです。この場合、XPATHで名前空間を処理するにはどうすればよいですか?