building XML where elements can contain themselves
Posted: Mon Feb 11, 2008 8:46 pm
I'm trying to figure out a way to generate XML where the elements can contain themselves. The input data is a set of nodes where some have a value to signify the start or the end of a group. The node signifying the START is handled different than the following nodes. The node set being worked with would look something like:
The result after processing would look like this:
Any suggestions?
Code: Select all
<item>
<name>item1</name>
<value>1</value>
</item>
<item>
<name>item2</name>
<value>2</value>
</item>
<item subgroup="START">
<name>subgroup1</name>
<description>subgroup1 description</description>
</item>
<item>
<name>item4</name>
<value>4</value>
</item>
<item subgroup="START">
<name>subgroup2</name>
<description>subgroup2 description</description>
</item>
<item subgroup="END">
<name>item6</name>
<value>6</value>
</item>
<item subgroup="END">
<name>item7</name>
<value>7</value>
</item>
<item>
<name>item8</name>
<value>8</value>
</item>
<item subgroup="START">
<name>subgroup3</name>
<description>subgroup3 description</description>
</item>
<item subgroup="END">
<name>item10</name>
<value>10</value>
</item>
Code: Select all
<group>
<Value>
<name>item1</name>
<value>1</value>
</Value>
<Value>
<name>item2</name>
<value>2</value>
</Value>
<group>
<name>subgroup1</name>
<description>subgroup1 description</description>
<Value>
<name>item4</name>
<value>4</value>
</Value>
<group>
<name>subgroup2</name>
<description>subgroup2 description</description>
<Value>
<name>item6</name>
<value>6</value>
</Value>
</group>
<Value>
<name>item7</name>
<value>7</value>
</Value>
</group>
<Value>
<name>item8</name>
<value>8</value>
</Value>
<group>
<name>subgroup3</name>
<description>subgroup3 description</description>
<Value>
<name>item10</name>
<value>10</value>
</Value>
</group>
</group>