I am using Perl XML::LibXML for extracting some data from an XML like below one.
The XML:
<root>
<child1>
<child2>
<common_tag_name>
<name>name_level1_name1</name>
<attribute>
<name>name_level2_name1</name>
<value>some_data1</value>
</attribute>
<attribute>
<name>name_level2_name2</name>
<value>some_data2</value>
</attribute>
<attribute>
<name>name_level2_name3</name>
<value>some_data3</value>
</attribute>
</common_tag_name>
<common_tag_name>
<name>name_level1_name2</name>
<attribute>
<name>name_level2_name1</name>
<value>some_data4</value>
</attribute>
<attribute>
<name>name_level2_name2</name>
<value>some_data5</value>
</attribute>
<attribute>
<name>name_level2_name3</name>
<value>some_data6</value>
</attribute>
</common_tag_name>
</child2>
</child1>
</root>
Problem:
Find ; if /common_tag_name/name == "name_level1_name1" and /common_tag_name/name/attribute/name == "name_level2_name1" then extract /common_tag_name/name/attribute/value i.e. I should get "some_data1"
Should loop this to read same_data*
Is it possible with XML::LibXML?