simplexml adding 'encoding' attribute to xml declaration [message #177182] |
Sat, 25 February 2012 03:17 |
Basewind
Messages: 1 Registered: February 2012
Karma: 0
|
Junior Member |
|
|
I'm creating an xml file using simplexml, but would like to add the encoding="UTF-8" to the XML declaration. Like this:
<?xml version="1.0" encoding="UTF-8"?>
How can I do this?
Here's my code:
<?php
$namesXML = new SimpleXMLElement("<names></names>");
echo $namesXML->asXML();
This shows:
<?xml version="1.0" ?><!-- want the encoding attribute added here -->
<names/>
Thanks!
|
|
|
Re: simplexml adding 'encoding' attribute to xml declaration [message #177190 is a reply to message #177182] |
Sat, 25 February 2012 19:40 |
Thomas 'PointedEars'
Messages: 701 Registered: October 2010
Karma: 0
|
Senior Member |
|
|
Basewind wrote:
> I'm creating an xml file using simplexml, but would like to add the
> encoding="UTF-8" to the XML declaration. Like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> How can I do this?
>
> Here's my code:
>
> <?php
> $namesXML = new SimpleXMLElement("<names></names>");
> echo $namesXML->asXML();
>
> This shows:
>
> <?xml version="1.0" ?><!-- want the encoding attribute added here -->
> <names/>
It is called *Simple*XML*Element* for a reason. However, this particular
character encoding declaration is superfluous; UTF-8 is one of the XML
default encodings [1].
And do use header() to declare the XML media type that fits your data best.
Keep in mind that PHP's default is text/html which is not appropriate for
that kind of output.
PointedEars
___________
[1] <http://www.w3.org/TR/REC-xml/#charencoding>
--
var bugRiddenCrashPronePieceOfJunk = (
navigator.userAgent.indexOf('MSIE 5') != -1
&& navigator.userAgent.indexOf('Mac') != -1
) // Plone, register_function.js:16
|
|
|
Re: simplexml adding 'encoding' attribute to xml declaration [message #177204 is a reply to message #177182] |
Mon, 27 February 2012 09:34 |
alvaro.NOSPAMTHANX
Messages: 277 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
El 25/02/2012 4:17, Basewind escribió/wrote:
> I'm creating an xml file using simplexml, but would like to add the encoding="UTF-8" to the XML declaration. Like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> How can I do this?
>
> Here's my code:
>
> <?php
> $namesXML = new SimpleXMLElement("<names></names>");
> echo $namesXML->asXML();
>
> This shows:
>
> <?xml version="1.0" ?><!-- want the encoding attribute added here -->
> <names/>
As far as I know, the only way is providing the full <?xml...?> tag in
the constructor:
$namesXML = new SimpleXMLElement('<?xml version="1.0"
encoding="utf-8"?><names></names>');
echo $namesXML->asXML();
SimpleXML will display the tag as-is (though it will not actually _use_
the encoding information). It'll use UTF-8 no matter what you type there.
--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://borrame.com
-- Mi web de humor satinado: http://www.demogracia.com
--
|
|
|