Ben aşağıdaki XML yapıya sahiptir:
<?xml version="1.0" encoding="ISO-8859-1"?>
<articles>
<article id="1">
<title>Makale başlığı 001</title>
<short>Short text</short>
<long>Long text</long>
</article>
<article id="2">
<title>Article title 002</title>
<short>Short text</short>
<long>Long text</long>
</article>
</articles>
Ben sadece <title>
ve <short>
seçmek istiyorum.
Şu anda her şeyi görüntülemek için kullanıyorum:
$queryResult = $xpathvar->query('//articles/article'); // works fine grabs all articles
foreach($queryResult as $result){
echo $result->textContent;
}
Beklenen çıkışı olacaktır:
Makale başlığı 001
Kısa metin
Herhangi bir yardım büyük mutluluk duyacağız.
Çalışma çözüm!
if ($artId == "") {
$queryResult = $xpathvar->query('//articles/article/*'); // grab all children
foreach($queryResult as $result){
if($result->nodeName === 'title' || $result->nodeName === 'short') {
echo $result->textContent;
}
}
}else{
$queryResult = $xpathvar->query(sprintf('//articles/article[@id="%s"]/*', $artId)); // Show requested article
foreach($queryResult as $result){
if($result->nodeName === 'title' || $result->nodeName === 'long') {
echo $result->textContent;
}
}
}