[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [xml] problem in using xmlAddChildList - need help
- From: "William M. Brack" <wbrack mmm com hk>
- To: xml gnome org
- Subject: Re: [xml] problem in using xmlAddChildList - need help
- Date: Thu, 14 Feb 2008 15:38:02 -0800 (PST)
My idea would be that either you or I is confused about the
differences between XPath lists, as represented by an xmlNodeSetPtr,
and "list of nodes", as expected by xmlAddChildList.
Bill
Senthil Nathan wrote:
> Any idea on this problem would be really helpful.
>
> Thanks
> Senthil Nathan R
>
>
> On 2/14/08, Senthil Nathan <rsennat gmail com> wrote:
>>
>> Hi All,
>> I'm trying to use xmlAddChildList( ) and seems there is a strange
>> problem
>> in adding this
>> child list to the doctree (xmlDocPtr).
>>
>> here is the code snippet which creates the problem.
>>
>>
>> bool AddChild(const string &path, xmlNodePtr *node*, AddChildType
>> addType)
>> {
>> ...............assume after evaluating the path, i have a
>> xmlNodeSetPtr
>> nodes;
>> xmlNodePtr pnode = nodes->nodeTab[0];
>> switch (addType)
>> {
>> case eAddNode:
>> break;
>> case eAddNodeList:
>> .............assume we have the xmlDocPtr tree;
>> //xmlElemDump(stdout, tree, pnode); ----> this shows
>> proper data
>> of *node.*
>> if (xmlAddChildList(pnode, node) == NULL) ----------->
>> this adds
>> the child list but the data is duplicated again for every
>>
>> call of this function with a new nodelist
>> {
>> return false;
>> }
>> //xmlElemDump(stdout, tree, pnode); ----> this doesnt show
>> proper
>> data of *pnode.
>> * //xmlFreeNodeList(node);
>> break;
>> default:
>> break;
>> }
>> return true;
>> }
>>
>> for example, if I call this function with xmlNodePtr node has the
>> data as,
>> 1st call : <childList1>......</childList1>
>> 2nd call: <childList2>......</childList2>
>> 3rd call: <childList3>......</childList3>
>>
>> now after this execution, the actual docTree has the info as
>> follows,
>> <childList1>......</childList1>
>> <childList2>......</childList2>
>> <childList1>......</childList1>
>> <childList3>......</childList3>
>> <childList1>......</childList1>
>> <childList2>......</childList2>
>> <childList1>......</childList1>
>>
>> but this should have added only once. Somehow the data gets
>> duplicated
>> after
>> xmlAddChildList( ). because the *node contains the proper data*.
>> only the
>> *pnode*
>> *is having the wrong data.*
>>
>> could you please help me on to figure out the problem or fix it.
>>
>> Thanks
>> Senthil Nathan R
>>
> _______________________________________________
> xml mailing list, project page http://xmlsoft.org/
> xml gnome org
> http://mail.gnome.org/mailman/listinfo/xml
>
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]