Ben bu gibi yapılandırılmış bir XML dosyası var
<serieslist>
<series sid="123">
<title type="main">Series 123 Main Title</title>
<title type="official">Series 123 Official Title</title>
<title type="short">S 123</title>
</series>
<series sid="456">
<title type="main">Series 456 Main Title</title>
<title type="official">Series 456 Official Title</title>
<title type="short">S 456</title>
</series>
/* +6000 more <series> nodes */
</serieslist>
Ben "sid" nitelikleri ve bunun gibi main serisi başlıktan oluşmaktadır ilişkilendirilebilir bir dizi yapmak gerekir
array(
123 => "Series 123 Main Title",
456 => "Series 456 Main Title",
//...
);
Ben bu XPath sorgusu //series/title[@type="main"]
kullanarak denedim ve ben nodelist olsun
$xml = DOMDocument::load('serieslist.xml');
$xpath = new DOMXPath($xml);
$titles = $xpath->query('//series/title[@type="main"]');
$series = array();
foreach($titles as $title) {
$series[] = $title->nodeValue;
}
Sonuçlar içinde
$series = array(
0 => "Series 123 Main Title",
1 => "Series 456 Main Title",
//...
);
Ama ebeveynin "Sid" çok nitelik gerekir. Olmayan bir kaynak-yoğun bir şekilde bunu nasıl yapabilir?