Sri,

        thank you for the help.  i did learn a lot from your example.  i'm
not sure i am communicating what i want to do clearly though.

i guess what im trying to do is an XPath query from an XPath result.

an example would be like

XPathObjectPtr array1Ref =
xmlXPathEvalExpression("//data/array1",xpathctx);

XPathObjectPtr array2Ref = xmlXPathEvalExpression("MyStruct/data1",
array1Ref->nodesetval->nodeTab[0]);

i know that wont compile.  but i'm looking to do something similar. is
this possible?

thanks

Pete

On Tue, 14 Nov 2006, Tallapragada, Sridevi wrote:

> Hi
>
> Check if this attachment helps you
>
> Regards
> Sri
>
>
>
> -----Original Message-----
> From: Peter Wilkes [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, November 14, 2006 2:20 AM
> To: [email protected]
> Subject: [xml] general help with using XPath with libxml2 (fwd)
>
> hello,
>
>       i've been asked to convert some XML parsing code that relys on
> XPath from the Microsoft XML objects to another platform independent
> toolkit.  libxml seems very light weight (which is good for us) and easy
> to use.  i have some questions though as i am a newbie to XML/XPath and
> libxml2.
>
> 1. i have an xmlXPathObjectPtr which points to an array of objects each
> containing data X, Y, and Z. i would like to look up the field by name.
> ex. Lookup(MyxmlXPathObjectPtr, "field1"); currently i have this solved
> by doing a short while loop.
>
> xmlNodePtr nodePtr = nodeSet->nodeTab[pos]; if(nodePtr == NULL) {
>       return false;
> }
>
> bool found = false;
> xmlNodePtr runner = nodePtr->children;
> while( (runner != NULL) && (!found) )
> {
>       if(strcmp(element, (char *)runner->name) == 0)
>       {
>               strncpy(val, (char *)runner->children->content, valLen);
>               found = true;
>       }
>       runner = runner->next;
> }
>
> frankly i figured that this was the wrong way of doing this. and i'm
> looking for a better way to accomplish the same goal.  i cant seem to
> find the correct function inside libxml2 or dont fully understand the
> naming conventions. (again i am a noob)  any help anyone can give me is
> greatly appreciated.
>
> 2. i have a xmlXPathObjectPtr which points to an array of objects.  one
> of those object being a array itself.  (array contained inside an array)
> and i cant seem to figure out how to get the subarray from my array. an
> example would be like
>
> <data>
>       <array1>
>               <array2>
>                       <MyStruct>
>                               <data1>data1</data1>
>                               <data2>data2</data2>
>                       </MyStruct>
>                       <MyStruct>
>                               <data1>data11</data1>
>                               <data2>data22</data2>
>                       </MyStruct>
>               </array2>
>               <array2>
>                       <MyStruct>
>                               <data1>data111</data1>
>                               <data2>data222</data2>
>                       </MyStruct>
>                       <MyStruct>
>                               <data1>data1111</data1>
>                               <data2>data2222</data2>
>                       </MyStruct>
>               </array2>
>       </array1>
> </data>
>
> again if anyone could provide me with any hints i would be very
> appreciated.
>
>
> thanks
>
> Pete
> _______________________________________________
> xml mailing list, project page  http://xmlsoft.org/ [email protected]
> http://mail.gnome.org/mailman/listinfo/xml
>
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to