FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » simplexml adding 'encoding' attribute to xml declaration
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
simplexml adding 'encoding' attribute to xml declaration [message #177182] Sat, 25 February 2012 03:17 Go to next message
Basewind is currently offline  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 Go to previous messageGo to next message
Thomas 'PointedEars'  is currently offline  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 Go to previous message
alvaro.NOSPAMTHANX is currently offline  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
--
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Stats comp.lang.php (last 7 days)
Next Topic: Is there a way to distinguish an auto-refresh from a manual page load?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Nov 27 23:21:56 GMT 2024

Total time taken to generate the page: 0.02892 seconds