Jump to content
rebortec

Transformar variavel em xml

Recommended Posts

rebortec

Boas, tenho um script tipo que retorna uma variavel com o resultado:

<Sku>

<codigo> 1 </codigo>

</Sku>

Nao é xml valido, como posso ler?

Share this post


Link to post
Share on other sites
HappyHippyHippo

não é válido só porque não tem o header ? nop ... isso é aceite como XML válido

podes usar o que quiseres, SimpleXML, DOMDocument, ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
rebortec

Boas,

Eu tentei o seguinte:

//Dados de exemplo, $response é recebida de um web service.
$response = '<SKU>
<Codigo>8</Codigo>
<Nome>Donzília Maria Alves de Sousa Teixeira</Nome>
</SKU>';
$xml_resp = simplexml_load_string($response);
print_r($xml_resp);

Warning:

Warning: simplexml_load_string(): Entity: line 12: parser error : Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x20 0x4D 0x61 in /home***.php on line 38
Warning: simplexml_load_string(): in /home/***.php on line 38
Warning: simplexml_load_string(): ^ in /home/***.php on line 38

Já tentei também com simplexml_load_file e com str_get_html, file_get_html e nada.

Edited by rebortec

Share this post


Link to post
Share on other sites
HappyHippyHippo

o teu problema não é na estrutura da XML mas sim no conteúdo que tens, principalmente aqui: Donzília

confirma que gravaste o ficheiro de código em UTF-8 (ou a fonte do XML) que o SimpleXML passa a ler bem isso


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
HappyHippyHippo

então o web service não está a responder em utf-8,

experimenta:

$xml = iconv("ISO-8859-1", "UTF-8", $xml)


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
rebortec

Experimentei assim:

$response = iconv("ISO-8859-1", "UTF-8", $response);

Não imprime nada nem erro.

$xml = new SimpleXMLElement(utf8_encode($response));

Assim também responde sem erros mas página em branco

PLimm funciona:

echo $xml->SKU[0]->Nome;

Depois da resolução vejo que fui burr...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.