2015-04-27 114 views
1
 <?php 

    $xml = "<articles> 
    <article id=\"18357302\"> 
    <articleCategories> 
    <articleCategory id=\"default\"/> 
    <articleCategory id=\"66607\"/> 
    </articleCategories> 
    </article> 
    </articles>"; 

    $feed = simplexml_load_string($xml); 

    $items = $feed->article; 
    foreach ($items as $article) { 

    // $categorie = $article->articleCategories->articleCategory[id]; 
    $categories = $article->articleCategories; 
    print_r($categories); 
    echo "<br>print_r indeed returns an array, but impossible to echo it using foreach!!!<br>"; 
    foreach ($categories->id as $category) { 
if ($category != "default") { 
     echo $category; 
} 
    } 
    } 
    ?> 

不知道我做錯了,我只是想找到一種方法,裏面articlesCategories默認值的SimpleXML的foreach:忽略元素

<articleCategory id=\"default\"/> 

腳本需要忽略這個刪除部分部分,只是使用XML文件中的下一篇文章類別,並且我寧願避免使用正則表達式將其刪除。

回答

2

該腳本迭代了articleCategories標記。 但它需要遍歷articleCategory標記。

以下更改已足夠。

foreach ($categories->articleCategory as $category) { 
    if ($category["id"] != "default") { 
     echo $category["id"]; 
    } 
}