2015-04-27 41 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"]; 
    } 
}