rhiegen Postado Outubro 15, 2009 Denunciar Share Postado Outubro 15, 2009 Estou usando o simplexml para fazer um parser de um arquivo xml.Fiz o seguinte:$xml = simplexml_load_file("amostra/$v.APIDATA.xml");$titulo = $xml->xpath('/ytvideo/title'); $idArquivo = $xml->xpath('/ytvideo/integerid'); $description = $xml->xpath('/ytvideo/description'); $category = $xml->xpath('/ytvideo/category'); $comments = $xml->xpath('comments/ytcomment');tudo isso ok.Imprimi echo $titulo[0]; sem problemas, só há uma ocorrência da tag title.Mas no caso da tag comment tenho a seguinte estrutura no xml:<ytdvideo> <comments> <ytcomment> <id>4B5BE0882D5AE38A</id> <integerid>-822578021</integerid> <author>skinnysim</author> <comment>check my response</comment> <commentDate>2008-06-03 12:37:13.0 BRT</commentDate> </ytcomment> <ytcomment> <id>E29E9396F751C007</id> <integerid>437306193</integerid> <author>unconsciousfocus</author> <comment>nice video!</comment> <commentDate>2007-10-20 20:20:54.0 BRST</commentDate> </ytcomment> <ytcomment> <id>0AF52DA4BBB1CDA0</id> <integerid>1353566340</integerid> <author>Jodo1992</author> <comment>lol omg mad people</comment> <commentDate>2007-10-29 22:17:35.0 BRST</commentDate> </ytcomment></ytdvideo>ou seja, pode haver mais de uma ocorrência.O print_r($comments) me retorna o conteúdo abaixo:Array ( [0] => SimpleXMLElement Object ( [id] => 95F6B44F4D77F00E [integerid] => -772199745 [author] => xFalcon417x [comment] => oh nos! you found outs :o! :) [commentDate] => 2008-02-25 20:00:09.0 BRT ) [1] => SimpleXMLElement Object ( [id] => 2764CBA934E1BD2A [integerid] => -846351560 [author] => xFalcon417x [comment] => hahaha yeah winter is pretty beat if you ask me... unless there is madddd snow lol. [commentDate] => 2008-06-06 21:35:18.0 BRT )Observe que são objetos do tipo SimpleXMLElement. Como posso fazer para tê-los como arrays do tipo $comments[0][comment], por exemplo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rhiegen
Estou usando o simplexml para fazer um parser de um arquivo xml.
Fiz o seguinte:
$xml = simplexml_load_file("amostra/$v.APIDATA.xml");
$titulo = $xml->xpath('/ytvideo/title');
$idArquivo = $xml->xpath('/ytvideo/integerid');
$description = $xml->xpath('/ytvideo/description');
$category = $xml->xpath('/ytvideo/category');
$comments = $xml->xpath('comments/ytcomment');
tudo isso ok.
Imprimi echo $titulo[0]; sem problemas, só há uma ocorrência da tag title.
Mas no caso da tag comment tenho a seguinte estrutura no xml:
<ytdvideo>
<comments>
<ytcomment>
<id>4B5BE0882D5AE38A</id>
<integerid>-822578021</integerid>
<author>skinnysim</author>
<comment>check my response</comment>
<commentDate>2008-06-03 12:37:13.0 BRT</commentDate>
</ytcomment>
<ytcomment>
<id>E29E9396F751C007</id>
<integerid>437306193</integerid>
<author>unconsciousfocus</author>
<comment>nice video!</comment>
<commentDate>2007-10-20 20:20:54.0 BRST</commentDate>
</ytcomment>
<ytcomment>
<id>0AF52DA4BBB1CDA0</id>
<integerid>1353566340</integerid>
<author>Jodo1992</author>
<comment>lol omg mad people</comment>
<commentDate>2007-10-29 22:17:35.0 BRST</commentDate>
</ytcomment>
</ytdvideo>
ou seja, pode haver mais de uma ocorrência.
O print_r($comments) me retorna o conteúdo abaixo:
Array ( [0] => SimpleXMLElement Object ( [id] => 95F6B44F4D77F00E [integerid] => -772199745 [author] => xFalcon417x [comment] => oh nos! you found outs :o! :) [commentDate] => 2008-02-25 20:00:09.0 BRT ) [1] => SimpleXMLElement Object ( [id] => 2764CBA934E1BD2A [integerid] => -846351560 [author] => xFalcon417x [comment] => hahaha yeah winter is pretty beat if you ask me... unless there is madddd snow lol. [commentDate] => 2008-06-06 21:35:18.0 BRT )
Observe que são objetos do tipo SimpleXMLElement. Como posso fazer para tê-los como arrays do tipo $comments[0][comment], por exemplo?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.