2017-02-28 9 views
-2
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<Servicos> 
<cServico> 
    <Codigo>40010</Codigo> 
</cServico> 
</Servicos> 

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<Servicos> 
<cServico> 
    <Codigo>40010</Codigo> 
</cServico> 
<cServico> 
    <Codigo>40011</Codigo> 
</cServico> 
</Servicos> 

のSimpleXMLElementは、単に第二XMLで既に直接「cServico」ノードを持ったXMLノード「Servicos」を無視する最初のケースではPHPのSimpleXML誤っフォーマット

$object = new \SimpleXMLElement($xml); 

下の2つのXMLSに異なる動作します複数の "cServico"ノードが正しく設定されているため、これを修正する方法があります

答えて

0

修正が必要なコードを共有するのを忘れましたが、一般的なヒントとしてトップレベルを使う必要はありませんSimpleXML使用時のノード:

$codes = array(); 
foreach ($xml->cServico as $item) { 
    $codes[] = (string)$item->Codigo; 
} 

Online demo