Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Accessing mixed content in XML

by izut (Chaplain)
on Aug 10, 2005 at 02:34 UTC ( #482496=note: print w/replies, xml ) Need Help??


in reply to Accessing mixed content in XML

Your XML should be like this:
<function name="showImage"> <data>A random picture</data> <argument><![CDATA[<img src="test.jpg">]]></argument> <argument>0</argument> </function>
Now the perl code:
#!/usr/bin/env perl use strict; use warnings; use XML::Simple; use Data::Dumper; my $ref = XMLin(\*DATA); print Dumper $ref; __DATA__ <function name="showImage"> <data>A random picture</data> <argument><![CDATA[<img src="test.jpg">]]></argument> <argument>0</argument> </function>
The results:
$VAR1 = { 'argument' => [ '<img src="test.jpg">', '0' ], 'name' => 'showImage', 'data' => 'A random picture' };

You can read more about XML specs here or searching in Google.

Update:If you use XML::Simple to create the XML file, it will automagically convert ">" or "<" to &gt; and &lt;.


Igor S. Lopes - izut
surrender to perl. your code, your rules.

Replies are listed 'Best First'.
Re^2: Accessing mixed content in XML
by anthski (Scribe) on Aug 10, 2005 at 08:04 UTC
    Igor,

    Thanks very much for your well explained solution, example code and the links. I'll do some reading about XML.

    If I'd known about CDATA and XML::Simple supporting it, I'd have probably stuck with XML::Simple. For now, using > and < is working nicely with XML::DOM.

    Thanks again.

      Instead of XML::DOM you might want to have a look at XML::LibXML, which gives you a lot more than XML::DOM: XPath (very, VERY useful), RelaxNG, Xinclude, HTML parser, better performances... As it implements the DOM porting code from XML::DOM to XML::LibXML is also very easy (usually all you have to do is changing the names of a few constants).

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://482496]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2021-03-04 19:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favorite kind of desktop background is:











    Results (107 votes). Check out past polls.

    Notices?