sureerat has asked for the wisdom of the Perl Monks concerning the following question:
my PERL script is:<?xml version="1.0" encoding="UTF-8"?> <company name="ABC" branch="bangkok"> <employee code="emp0001"> <info> <general> <name>Somchai Chaisom</name> <photo>/employee/photo/emp001.gif</photo> <position>Helpdesk Officer</position> <department>IT</department> </general> </info> <education> <record> <institute>Mahidol</institute> <year>2548-2550</year> <degree>Master</degree> <faculty>IT</faculty> <major>IT</major> <gpa>2.6</gpa> </record> <record> <institute>Thammasat</institute> <year>2541-2545</year> <degree>Bachelor</degree> <faculty>Science</faculty> <major>Computer Science</major> <gpa>2.8</gpa> </record> </education> </employee> <employee code="emp0002"> <info> <general> <name>Manee Meena</name> <photo>/employee/photo/emp002.gif</photo> <position>Programmer</position> <department>IT</department> </general> </info> <education> <record> <institute>Siam University</institute> <year>2538-2542</year> <degree>Bachelor</degree> <faculty>Engineer</faculty> <major>Software Engineering</major> <gpa>3.3</gpa> </record> <record> <institute>Thammasat</institute> <year>2541-2545</year> <degree>Bachelor</degree> <faculty>Science</faculty> <major>Computer Science</major> <gpa>2.8</gpa> </record> </education> </employee> </company>
#!/usr/bin/perl use warnings; use XML::DOM; $link = "Thammasat"; %rlinks = ( "institute" => "test", "year" => "test", "degree" => "test", "faculty" => "test", "major" => "test", "gpa" => "test", ); my $rfile = "employee.xml"; my $xparser = XML::DOM::Parser->new(); my $xdoc = $xparser->parsefile($rfile); $ritem = $xdoc->createElement("record"); foreach $key (keys %rlinks) { $new = $xdoc->createElement("$key"); $text = $xdoc->createTextNode("$rlinks{$key}"); $new->appendChild($text); $ritem->appendChild($new); } foreach my $xitem ($xdoc->getElementsByTagName('record')) { $durl = $xitem->getElementsByTagName('institute')->item(0)->getFir +stChild->getNodeValue; if($durl eq $link) { $xdoc->getDocumentElement()->replaceChild($ritem,$xitem); } } $xdoc->printToFile("$rfile");
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: XML::DOM - NOT_FOUND_ERR
by Jenda (Abbot) on Oct 22, 2008 at 23:56 UTC | |
by sureerat (Acolyte) on Oct 23, 2008 at 11:43 UTC | |
by Jenda (Abbot) on Oct 23, 2008 at 23:32 UTC | |
by sureerat (Acolyte) on Oct 24, 2008 at 16:56 UTC |