Nima ,
Suppose u have to collect values of all properties ( prop_x ) in line
<element_x prop_1="value1" prop_2="val2" prop_3="val_3" >
Then 1st traverse using DOM Tree , until u encounter a node with
xmlNodePtr->name as same as element_x ( Take the help of xmlStrcmp() API
) .
Say this node is xmlNodePtr pXmlNodeElemX
To collect / print all Atrribute /Property Nodes of element_x
use..............
if (pXmlNodeElemX->properties )
{
// Traverse all Attribs of a current XML Node
xmlAttrPtr pXMLCurrAttrib;
for (pXMLCurrAttrib = pXmlNodeElemX->properties; pXMLCurrAttrib;
pXMLCurrAttrib = pXMLCurrAttrib ->next)
{
printf("\n\nAttribute Name = %s" , pXMLCurrAttrib ->name);
xmlChar* pszAttrContent =
xmlNodeListGetString(m_ptrXMLDoc,pXMLCurrAttrib->children,1);
printf("\nAttribute Content = %s\n" , pszAttrContent);
if (pszAttrContent)
xmlFree(pszAttrContent);
}
}
Alternatively if u want only value of a particular attribute / property
of Node <element_x> say only prop_2
Use........
xmlChar* pszAttrContent = xmlGetProp(pXmlNodeElemX,(const xmlChar*)"
prop_2");
if (pszAttrContent)
xmlFree(pszAttrContent);
-------- Lav
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of
Nima Tiran
Sent: Tuesday, June 10, 2008 5:11 AM
To: [email protected]
Subject: [xml] How to iterate through...
I brought a piece of XML file that I'm trying to parse it and somehow I
stuck to find a way to iterate through them and collect the properties
in each line(element)
I tried to use print_element_names() function in sample code but had
no success. I can get the 'element_x' and their properties in first line
below but from that point don't know how to iterate to its nested
element(section_1) and further and collect them all.
Any help greatly appreciated,
Thanks,
Nima
<element_x prop_1="value1" prop_2="val2" prop_3="val_3" >
<section_1>
<elem_1 category="<CompanyName>"
qualifier="Is">company1</elem_1 >
<elem_2>doc1.pic</elem_2 >
< elem_1 category="<CompanyName>"
qualifier="Is">Company2.</elem_1 >
< elem_2 >doc2.pic</elem_2 >
< elem_1 category="<CompanyName>"
qualifier="Is">Company3</elem_1 >
< elem_2 >doc1.pic</elem_2 >
< elem_2 >doc3.pic</elem_2 >
</section_1>
</element_x >
DISCLAIMER:
This email may contain confidential or privileged information for the intended
recipient(s) and the views expressed in the same are not necessarily the views
of Zensar Technologies Ltd. If you are not the intended recipient or have
received this e-mail by error, its use is strictly prohibited, please delete
the e-mail and notify the sender. Zensar Technologies Ltd. does not accept any
liability for virus infected mails.
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml