Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^5: XML Parsing

by tmharish (Friar)
on Feb 08, 2013 at 14:25 UTC ( #1017834=note: print w/replies, xml ) Need Help??

in reply to Re^4: XML Parsing
in thread XML Parsing

->pointer will actually give you the tree starting from where you have traversed to in the xml_smart object. It will be a hash which you can use like an ordinary hash.

You can traverse the object using the method described above and it will move the pointer.

___________node1 | root ---|-----------node2 |___________node3 ^ |________________Pointer could be here.

Now when you ask for ->content() it will give you the content at node3 and if you ask for ->pointer it will give you the sub-tree starting from node3 in a hash.

Hope that helps - Let me know if you need further clarification.

Replies are listed 'Best First'.
Re^6: XML Parsing
by vmallya (Initiate) on Feb 11, 2013 at 10:08 UTC
    Harish, Thanks for the clarification. One more doubt, say for node1, node2 i have defined an attribute, can i put a check something like if exists {node}(instance) ? Also how to access the value of attribute if it exists for each node. Regards Vishranth

      I might be able to clear up things if you can list out all the things you want to extract from the xml that you have provided - or you might even want to provide a more extensive xml.

      So something like:

      I want to access the "value" based on the attribute "category" and also in case I have multiple parameters with different "instances".
        Okay. Let me list what exactly I need:

        1. I have to define a config xml file 2. XML file should contain two different types of Parameters a. Special type b. Default type And each parameter under these types can have more than one instances which needs be differentiated by adding an attribute called "instance" in the node "parameter". 3. Later I need to read this config xml, and should extract first parameters under default type, instance wise and get the value for each parameter via a hash or array. 4. Same as above for special type of parameters as well.

        <?xml version="1.0" encoding="UTF-8"?> <list> <feature category="defaultlist"> <parameter instance="0">sampleparameter</parameter> <value>1</value> <parameter instance="0">firstparameter</parameter> <value>1</value> <parameter instance="1">firstparameter</parameter> <value>1</value> </feature> <feature category="speciallist"> <parameter instance="0">splparameter</parameter> <value>1</value> </feature> </list>

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1017834]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2018-08-21 10:00 GMT
Find Nodes?
    Voting Booth?
    Asked to put a square peg in a round hole, I would:

    Results (197 votes). Check out past polls.