AakashM sayesinde, o bana doğru yönde yol açtı. Aşağıdaki soru için, bu bana doğru öncülük xPath ifadesidir:
"//channel/item[category[@domain='http://www.somelink.com/?category=4']]"
Original post:
Böyle bir şey (alıntı) görünen bir XML beslemesi:
<channel>
<title>Channel Name</title>
<link>Link to the channel</link>
<item>
<title>Heading 1</title>
<link>http://www.somelink.com?id=100</link>
<description><![CDATA[ Text here ]]></description>
<publishDate>Fri, 03 Apr 2009 10:00:00</publishDate>
<guid>http://www.somelink.com/read-story-100</guid>
<category domain="http://www.somelink.com/?category=4">Category 1</category>
</item>
<item>
<title>Heading 2</title>
<link>http://www.somelink.com?id=110</link>
<description><![CDATA[ Text here ]]></description>
<publishDate>Fri, 03 Apr 2009 11:00:00</publishDate>
<guid>http://www.somelink.com/read-story-110</guid>
<category domain="http://www.somelink.com/?category=4">Category 1</category>
</item>
<channel>
İşte bunun kabaca. PHP (alıntı) bu parça kullanıyorum:
$xml = simple_xml_load_file($xmlFile);
$xml->xpath($pattern);
Şimdi kategorisinde düğüm o sinir bozucu "etki alanı" öznitelik dayalı (çocuklarıyla birlikte) tüm MADDE-düğümleri almak istiyorum, ama no matter what I try it does-not-work.
The closest I got was "//category[@domain= 'http://www.somelink.com/?category=4']"
Denedim ifadesi bana bu sonucu verdi:
[0] => SimpleXMLElement Object
(
[@attributes] => Array
(
[domain] => http://www.somelink.com/?category=4
)
[0] => Category 1
[1] => SimpleXMLElement Object
(
[@attributes] => Array
(
[domain] => http://www.somelink.com/?category=4
)
[0] => Category 1
Ifadesi örnekte iki öğelerin her evladımız içermelidir, ancak kategori düğüm sadece bilgi mevcut gördüğünüz gibi, ben her öğe düğümleri istiyorum.
Herhangi bir yardım son derece mutluluk duyacağız.