perlquestion
gam3
I have spent a few hours trying to write a program in perl that will find a node in one file using XPath and then find a node in a second file using an XPath. Then replace the first node with the second and write out the modified file.
<p>
I did not see how to replace the node with XML::XPath and I could not get XML::Twig to find my paths. I gave up at one point and wrote it in ruby:
<p>
<code>
#!/usr/bin/ruby -w
require 'rexml/document'
include REXML
xmlfile1 = File.new("wiki.html")
xmldoc1 = Document.new(xmlfile1)
xmlfile2 = File.new("timeline.html")
xmldoc2 = Document.new(xmlfile2)
node1 = XPath.first(xmldoc1, "//div[@id=\"metanav\"]")
node2 = XPath.first(xmldoc2, "//div[@id=\"metanav\"]")
node1.replace_with(node2)
print xmldoc1.to_s;
</code>
This is a bit slow but works and was easy to find and get to work.
<p>
Maybe there are just too many XML packages available in Perl and that makes it hard to find the right one.
<p>
Anyway I would love to find a solution to this problem with a perl package.
<p>
Thanks in advance.
<p>
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-424604">
-- gam3<br/>
<small>A picture is worth a thousand words, but takes 200K.</small>
</div></div>