Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedro Roccon

acessar tag do XML com "-"

Recommended Posts

Galera, primeiramente, bom dia.

 

Estou com uma dúvida que acredito ser básica. Tenho o seguinte XML:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
	<report>
		<report-name name='Relatório de palavras-chave'/>
		<date-range date='03/09/2013-05/10/2013'/>
        </report>

Porém não consigo acessar a tag que tem o fechamento na mesma linha: report-name e date-range. Alguém poderia me dar uma luz? Vou enviar meu PHP como está:

<?php

   $xml = simplexml_load_file('xml/arquivo.xml');

   echo $xml->report-name['name'];

?>

Erro retornado: Parse error: syntax error, unexpected '[', expecting ',' or ';' in C:\Users\Windows7\Desktop\Web\relatorios-google-adwords\index.php on line 16

 

Acredito que o problema esteja nesse "-", porém não posso modificá-lo, pois esse XML vem do Google AdWords.

 

Desde já agradeço a ajuda de todos, muito obrigado!

Um bom dia à todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, primeiramente, bom dia.

 

Estou com uma dúvida que acredito ser básica. Tenho o seguinte XML:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
	<report>
		<report-name name='Relatório de palavras-chave'/>
		<date-range date='03/09/2013-05/10/2013'/>
        </report>

Porém não consigo acessar a tag que tem o fechamento na mesma linha: report-name e date-range. Alguém poderia me dar uma luz? Vou enviar meu PHP como está:

<?php

   $xml = simplexml_load_file('xml/arquivo.xml');

   echo $xml->report-name['name'];

?>

Erro retornado: Parse error: syntax error, unexpected '[', expecting ',' or ';' in C:\Users\Windows7\Desktop\Web\relatorios-google-adwords\index.php on line 16

 

Acredito que o problema esteja nesse "-", porém não posso modificá-lo, pois esse XML vem do Google AdWords.

 

Desde já agradeço a ajuda de todos, muito obrigado!

Um bom dia à todos!

 

VEJA SE ISSO RESOLVE

 

<?php 

$filename = 'xml 3 pecas.xml';

$dom = new DOMDocument('1.0', 'UTF-8');
$dom->load($filename);

$xpath = new DOMXPath($dom);
//CAMINHO PARA ONDE ESTA A TAG
$result = $xpath->query('//AMBIENTS/AMBIENT/TOTALPRICES/MARGINS/ORDER/MARGIN');
//ONDE ESTA A TAG I SO PASSA O NOME DA TAG
foreach($result as $MARGIN){
        echo '<br>'.$MARGIN->getAttribute('ID');
		echo '____ - ____'.$MARGIN->getAttribute('DESCRIPTION');
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Zezinho S/A LOCK, infelizmente eu não posso fugir do simplexml_load_file. Teria que encontrar alguma solução com ele mesmo, porém esse traço está me deixando meio nervoso.



Galera, consegui. Vou deixar a solução:

echo $xml->{'report-name'}['name'];

Obrigado pela ajuda :D

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

TENTA ISSO

 

$xml = simplexml_load_file('xml/arquivo.xml');

 

foreach($xml-children as $elemento=>$valorElemento){

 

foreach($valorElemento ->attributes() as $atributo=>$valorAtributo)

{

echo $atributo. ' : '.$valorAtributo;

echo '<br>';

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.