[xml] Getting element content non-recursively



Hi all,

 

Is there a way in which I can get the content of an element that has children, without getting the content of those children also? For example if I have something like:

 

<node1>

    <node2>some text</node2>

<node1>

 

And I call xmlNodeGetContent on node1, I get “some text” and some blank characters around it. For this particular example I would want an empty string as node1 doesn’t have any text content itself.

 

This is actually part of a larger problem that I am trying to solve, so there may be a better way. Basically, for my application, I have little fragments of XML that I need to add to various elements of other XML documents. I need to parse these fragments to ensure they are valid so I was looking at the functions that add children to nodes but I could not find anything that adds (and parses) a complete fragment of xml. Therefore, what I do instead is build a new document from my fragment (which catches any parse errors), then I iterate around all of the attributes and nodes in a recursive manner adding them to my target. For each node, I make a new element with the name and content of the original and here is where I get my problem – the xmlNodeGetContent function is giving me the concatenated content of all children but as I am handling recursion myself, I need only the content of the actual node I am referring to.

 

 

Any help much appreciated!

 

 

Thanks,

Caroline M.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]