On Wed, 19 Dec 2001 14:25:30 +1100 "Andrew Nesbit" <andrew nesbit csiro au> wrote:
Hi all, I need to accomplish the following task: 1. read an XML document into memory 2. traverse to a child element of the root node 3. save that child element into a memory buffer as a standalone XML document, so that it can be reprocessed as an XML document at a much later stage. How can I accomplish this using libxml? I think (although I'm not sure) that xmlElemDump() does something like this, but the problem is that it saves to a file, not to a memory buffer. If somebody could help me, that would be really cool.
Something similar was asked recently on the perl-xml list : On Mon, 10 Dec 2001, Mark Riehl wrote:
All - Is it possible redirect the output of XML::Writer to a scalar? The reason I ask is that I'm using XML::Writer to generate a large XML document, and then using LibXSLT to apply several stylesheets to generate various reports. Rather than write the file to disk and then immediately reread it, I'd like to be able to parse the file and apply the stylesheets w/o writing to disk.
Aaron Straup Cope <asc vineyard net> replied: ----------------------- use XML::Writer; use IO::Scalar; my $xml = undef; my $writer = undef; tie(*STDOUT, 'IO::Scalar', \$xml) $writer = new XML::Writer; # Do stuff here... # Make sure you reset STDOUT # to STDOUT or things will start # to get weird. untie *STDOUT; return $xml; ----------------- So I *guess* that it would be possible to tie the output of libXML to IO::Scalar as in this code. I may well be incorrect, and expect to be corrected... Bob -- Nationalism is an infantile sickness. It is the measles of the human race. - Albert Einstein
Attachment:
pgpNT4zhyUl9G.pgp
Description: PGP signature