Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I've been using XML::Writer for 3 years now and it works very well for my needs; it cannot convert data structures to XML, but it is perfect if you want to compose XML programmatically; its capability of pretty printing is configurable; a good module in my opinion!

use strict; use warnings; use IO::String; use XML::Writer; my $struct = { epoch => time(), events => [ { type => 'move', elements => { left => 1, up => 2 } }, { type => 'pen', elements => { down => 1, color => 'red' } }, { type => 'move', elements => { right => 3, up => 1 } }, ], }; print to_xml($struct), "\n"; exit; sub to_xml { my $input = shift; my $buffer; my $io = IO::String->new($buffer); my $xml = XML::Writer->new( OUTPUT => $io, NEWLINES => 0, DATA_MODE => 1, DATA_INDENT => 2, ); $xml->xmlDecl('UTF-8'); $xml->startTag( 'block', 'time' => $input->{epoch} ); foreach my $event (@{ $input->{events} }) { $xml->emptyTag( $event->{type}, %{ $event->{elements} } ); } $xml->endTag('block'); $xml->end(); return $buffer; }
The code above prints:
<?xml version="1.0" encoding="UTF-8"?> <block time="1175447784"> <move left="1" up="2" /> <pen color="red" down="1" /> <move right="3" up="1" /> </block>

Ciao, Valerio


In reply to Re: Formatting XML by valdez
in thread Formatting XML by njcodewarrior

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2024-04-23 13:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found