XRZ1138 has asked for the wisdom of the Perl Monks concerning the following question:
Hello,
I am opening an XML doc that looks something like:
===========================
<?xml version="1.0" encoding="UTF-8"?> <---This will disappear
<project>
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
</dependencies>
</project>
===========================
On this file I run something like this:
===========================
my $xp = XML::XPath->new(filename => $filename);
$xp->setNodeText("/project/dependencies/dependencyversion='1.0'/version", 2.0);
open (OUTF, ">$filename");
print OUTF XML::XPath::XMLParser::as_string($xp->findnodes('/'));
===========================
I end up with what I want:
===========================
<project>
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>2.0</version> <---- Only change
<type>jar</type>
</dependency>
</dependencies>
</project>
===========================
BUT the xml prolog is gone.
I checked the XML::XPATH docs for a method to grab and store the header,
but did not find it.
...or is there some other technique that I am missing?
Any pointers appreciated,
Chris
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: XPATH as_string losing prolog
by wind (Priest) on Mar 17, 2011 at 23:41 UTC | |
|
Re: XPATH as_string losing prolog
by Anonymous Monk on Mar 18, 2011 at 02:48 UTC |