05-30-2007
xml parsing error in perl
******************PERL VERSION************************
This is perl, v5.8.1 built for i386-linux-thread-multi
ERROR!!!!---Undefined subroutine &main::start called at /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/XML/Parser/Expat.pm line 469.
*********************PERL CODE************************
# include package
use XML::Parser;
# initialize parser
$xp = new XML::Parser;
# set callback functions
$xp->setHandlers(Start => \&start, END => \&end, Char => \&cdata);
# parse XML
$xp->parsefile("page1.xml");
************************XML FILE*********************
<?xml version="1.0"?>
<library>
<book>
<title>Dreamcatcher</title>
<author>Stephen King</author>
<genre>Horror</genre>
<pages>899</pages>
<price>23.99</price>
<rating>5</rating>
</book>
</library>
Plz remove the error if possible....
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I want to use wget comment to parse an xml parse that exist in an online website. How can I connect it using shell script through Unix and how can I parse it?? (1 Reply)
Discussion started by: walnut
1 Replies
2. Shell Programming and Scripting
#! /usr/local/bin/perl -w
$ip = "$ARGV";
$rw = "$ARGV";
$snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw";
$snmpw = "/usr/local/bin/snmpwalk -Os -c $rw";
$syst=`$snmpg $ip system sysName sysObjectID`;
sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies
3. Shell Programming and Scripting
Given the XML:
<?xml version="1.0" encoding="UTF-8"?>
<reference>
<refbody>
<section>
<p>
<ul>
<li><xref href="file1.dita#anchor" /></li>
<li><xref href="file2.dita#anchor" /></li>
</ul>
</p>
</section>
<section>
<p>
<xref href="file3.dita#anchor" />
</p>
<p>
<xref... (4 Replies)
Discussion started by: ricksj
4 Replies
4. Shell Programming and Scripting
I have a bash script that needs to read input from an XML file, which includes varying numbers of a certain type of child node. I want to be able to iterate through all the child nodes of a given parent. I installed the Perl XML-XPath package from
search.cpan.org. Once it's installed, from bash,... (4 Replies)
Discussion started by: jfmorales
4 Replies
5. Shell Programming and Scripting
Learned People,
Hello !
Till today, for the most part, all of the tricky questions/situations that I encountered were already posted by other folks and all I had to do was peruse through these one at a time and I could find some sort of an answer and all I had to do was add some minor tweaks... (5 Replies)
Discussion started by: ManoharMa
5 Replies
6. Shell Programming and Scripting
I am trying to parse an xml file and trying to grab certain values and inserting them into database table. I have the following xml that I am parsing:
<dd:service name="locator" link="false">
<dd:activation mode="manual" />
<dd:run mode="direct_persistent" proxified="false" managed="true"... (7 Replies)
Discussion started by: $criptKid617
7 Replies
7. Shell Programming and Scripting
for some reasons, i need to parse the XML result by using perl.
for instance, this is a sample XML result:
<Response>
<status>success</status>
<answer>AAA::AAA</answer>
<answer>BBB::BBB</answer>
</Response>
then i can use this way :
my @output = ();
foreach my $parts (@all) ##@all... (2 Replies)
Discussion started by: tiger2000
2 Replies
8. Shell Programming and Scripting
Hi I have an XML output like :
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <envelope>
- <body>
- <outputGetUsageSummary>
- <usgSumm rerateDone="5">
- <usageAccum accumId="269" accumCaptn="VD_DP_AR" inclUnits="9999999.00" inclUnitsUsed="0.00" shared="false" pooled="false"... (7 Replies)
Discussion started by: rkrish
7 Replies
9. Shell Programming and Scripting
I am trying to parse the XML Google contact file using tools like xmllint and I even dived into the XSL Style Sheets using xsltproc but I get nowhere.
I can not supply any sample file as it contains private data but you can download your own contacts using this script:
#!/bin/sh
# imports... (9 Replies)
Discussion started by: ripat
9 Replies
10. Shell Programming and Scripting
I need to parse text between xml tags using xsltproc. It seems the easiest way.
Here the Input file looks like
<?xml version="1.0" ?>
- <tag:ROOT xmlns:as="http://some.org/some.xsd" xmlns:tag="http://www.tag.org/schemas" xmlns:xs="http://some.org/">
- <tag:L1>
- <tag:L2>
- <tag:L3> ... (2 Replies)
Discussion started by: alpha_1
2 Replies
LEARN ABOUT DEBIAN
xml::dom::valparser
XML::DOM::ValParser(3pm) User Contributed Perl Documentation XML::DOM::ValParser(3pm)
NAME
XML::DOM::ValParser - an XML::DOM::Parser that validates at parse time
SYNOPSIS
use XML::DOM::ValParser;
my %expat_options = (KeepCDATA => 1,
Handlers => [ Unparsed => &my_Unparsed_handler ]);
my $parser = new XML::DOM::ValParser (%expat_options);
eval {
local $XML::Checker::FAIL = &my_fail;
my $doc = $parser->parsefile ("fail.xml");
... XML::DOM::Document was created sucessfully ...
};
if ($@) {
# Either XML::Parser (expat) threw an exception or my_fail() died.
... your error handling code here ...
# Note that the XML::DOM::Document is automatically disposed off and
# will be garbage collected
}
# Throws an exception (with die) when an error is encountered, this
# will stop the parsing process.
# Don't die if a warning or info message is encountered, just print a message.
sub my_fail {
my $code = shift;
die XML::Checker::error_string ($code, @_) if $code < 200;
XML::Checker::print_error ($code, @_);
}
DESCRIPTION
Use XML::DOM::ValParser wherever you would use XML::DOM::Parser and your XML will be checked using XML::Checker at parse time.
See XML::DOM for details on XML::DOM::Parser options. See XML::Checker for details on setting the fail handler (my_fail.)
The following handlers are currently supported, just like XML::DOM::Parser: Init, Final, Char, Start, End, Default, Doctype, CdataStart,
CdataEnd, XMLDecl, Entity, Notation, Proc, Default, Comment, Attlist, Element, Unparsed.
XML
::DOM::ValParser
XML::DOM::ValParser extends from XML::Checker::Parser. It creates an XML::Checker object and routes all event handlers through the checker,
before processing the events to create the XML::DOM::Document.
Just like XML::Checker::Parser, the checker object can be retrieved with the getChecker() method and can be reused later on (provided that
the DOCTYPE section of the XML::DOM::Document did not change in the mean time.)
You can control which errors are fatal (and therefore should stop creation of the XML::DOM::Document) by filtering the appropriate error
codes in the global $XML::Checker::FAIL handler (see "ERROR_HANDLING" in XML::Checker) and calling die or croak appropriately.
Just like XML::Checker::Parser, XML::DOM::ValParser supports the SkipExternalDTD and SkipInsignifWS options. See XML::Checker::Parser for
details.
AUTHOR
Enno Derksen is the original author.
Send bug reports, hints, tips, suggestions to T.J. Mather at <tjmather@tjmather.com>.
SEE ALSO
XML::DOM, XML::Checker ("SEE_ALSO" in XML::Checker)
perl v5.10.0 2001-08-26 XML::DOM::ValParser(3pm)