Re: [xml] [xpath] How to print xml fragment
- From: Stefan Behnel <stefan_ml behnel de>
- To: bagnacauda <bagnacauda gmail com>
- Cc: xml gnome org
- Subject: Re: [xml] [xpath] How to print xml fragment
- Date: Wed, 13 Jun 2007 16:43:32 +0200
Hi,
bagnacauda wrote:
My input xml file has got a recurring structure "TransactionError" as
follows:
......
<TransactionErrorRecords>
<TransactionError>
<TransactionErrorReference>bbb</TransactionErrorReference>
<TransactionErrorMessage>ccc</TransactionErrorMessage>
</TransactionError>
<TransactionError>
<TransactionErrorReference>ddd</TransactionErrorReference>
<TransactionErrorMessage>eee</TransactionErrorMessage>
</TransactionError>
.......
</TransactionErrorRecords>
I need to extract the content of the xml file (as a string) between each
couple <TransactionError>,</TransactionError>, the two tags included.
So I basically need to be able to populate a string in a loop with
<TransactionError>
<TransactionErrorReference>bbb</TransactionErrorReference>
<TransactionErrorMessage>ccc</TransactionErrorMessage>
</TransactionError>
then with
<TransactionError>
<TransactionErrorReference>ddd</TransactionErrorReference>
<TransactionErrorMessage>eee</TransactionErrorMessage>
</TransactionError>
and so on
I can identify the nodeset (all TransactionError's) with an xpath
expression but then how can I get the string value? I've tried to use
the xpath2.c example as a guide by printing cur->content when
cur=TransactionError but it won't work.
As noted before, XSLT might be a good option here, depending on what the rest
of your algorithm does.
To write a node to a string, you can use xmlNodeDump or xmlNodeDumpOutput (if
you need encoding) to serialise it to a buffer:
http://xmlsoft.org/html/libxml-tree.html#xmlBufferCreate
http://xmlsoft.org/html/libxml-tree.html#xmlNodeDump
http://xmlsoft.org/html/libxml-tree.html#xmlBuffer
http://xmlsoft.org/html/libxml-tree.html#xmlOutputBuffer
Stefan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]