Go4Expert

Go4Expert (http://www.go4expert.com/)
-   Perl (http://www.go4expert.com/forums/perl/)
-   -   How to read xml file line by line and extract a particular tag??? (http://www.go4expert.com/forums/read-xml-file-line-line-extract-t25995/)

newbie_10 7Jun2011 21:53

How to read xml file line by line and extract a particular tag???
 
EXAMPLE:

<xml>
<title> Sample </title>
<heading1> PERL </heading1>
<body>
<code>

<heading2> Definition 1: </heading2> 
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Information from <link> google.com</link>

<heading3> Definition 2: </heading3>
A program language that is considered public domain and hence not technically supported by a vendor. Is very popular due to the fact that it is free. Many claim that it is easier to use than JAVA and JAVA's predecessor C++. Information from <link> state.tn.us</link>

</code>
</body>
</xml>

How to extract the tag <link> from the file by reading line by line. Guide me how to go about it?

And what changes would I have to make if I wanted the output as:
Definition1:
link name

Definition2:
link name

Sketch- 1Jul2011 11:25

Re: How to read xml file line by line and extract a particular tag???
 
PHP Code:

#!/usr/bin/perl -w
my $file "file.xml"# Replace this with your xml file
my $line 0;
open(XML$file);
my @xml = <XML>;
close(XML);
my $a 1;
foreach 
$line(@xml) {
if(
$line =~ m/<link>(.*?)<\/link>/i) {
print 
"Definition $a\n$1\n";
$a++;
}


This outputs

Code:

Definition 1
google.com
Definition 2
state.tn.us

Hope this helps!

Remember to replace the $file variable with the name of your xml file.


All times are GMT +5.5. The time now is 07:25.