I am facing a problem with same name nodes at the same level and specific order. My order depends on the value of their nodes. My XML looks like:
Code:
<edifact>
<LIN>
<element>
<value>1</value>
</element>
<element>
<value>96A 90101</value>
<value>SA</value>
</element>
</LIN>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>8</value>
</element>
<element>
<value>CAR</value>
<value>XXX</value>
</element>
</IMD>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>180</value>
</element>
<element>
<value>d Touring Edition</value>
<value>Kom</value>
</element>
</IMD>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>11</value>
</element>
<element>
<value>Fahrername</value>
<value>Müller, Thomas</value>
</element>
</IMD>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>11</value>
</element>
<element>
<value>Personal-Nr.</value>
<value>7200</value>
</element>
</IMD>
<MOA>
<element>
<value>203</value>
<value>381.95</value>
</element>
</MOA>
<RFF>
<element>
<value>AKV</value>
<value>88240</value>
</element>
</RFF>
<RFF>
<element>
<value>LI</value>
<value>1</value>
</element>
</RFF>
<TAX>
<element>
<value>7</value>
</element>
<element>
<value>VAT</value>
</element>
<element>
<value></value>
<value></value>
<value></value>
<value>19.00</value>
</element>
<element>
<value>S</value>
</element>
</TAX>
<MOA>
<element>
<value>124</value>
<value>72.57</value>
</element>
</MOA>
<NAD>
<element>
<value>BV</value>
</element>
<element>
<value>bt-ax 303</value>
</element>
</NAD>
Repeat more OBJECTS
<LIN>
<element>
<value>2</value>
</element>
<element>
<value></value>
</element>
<element>
<value>96A 90103</value>
<value>SA</value>
</element>
</LIN>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>8</value>
</element>
<element>
<value>CAR</value>
<value>XXX</value>
</element>
</IMD>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>180</value>
</element>
<element>
<value>d coupe Edition</value>
<value>Kom</value>
</element>
</IMD>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>11</value>
</element>
<element>
<value>Fahrername</value>
<value>Burros, Thomas</value>
</element>
</IMD>
<IMD>
<element>
<value>F</value>
</element>
<element>
<value>11</value>
</element>
<element>
<value>Personal-Nr.</value>
<value>7275</value>
</element>
</IMD>
<MOA>
<element>
<value>203</value>
<value>5.76</value>
</element>
</MOA>
<RFF>
<element>
<value>AKV</value>
<value>88241</value>
</element>
</RFF>
<RFF>
<element>
<value>LI</value>
<value>2</value>
</element>
</RFF>
<TAX>
<element>
<value>7</value>
</element>
<element>
<value>VAT</value>
</element>
<element>
<value>0.00</value>
</element>
<element>
<value>E</value>
</element>
</TAX>
<MOA>
<element>
<value>124</value>
<value>0.00</value>
</element>
</MOA>
<NAD>
<element>
<value>BV</value>
</element>
<element>
<value>TB-rb 123</value>
</element>
</NAD>
<edifact>
The output should be a txt file, looks like that:
A1201 88240 CAR d Touring Edition bt-ax 303 7200 Müller, Thomas
A130 381.95 19.00 72.57
A1202 88241 CAR d Coupe Edition TB-rb 123 7275 Burros, Thomas
A130 5.76 0 0
DEFINITIONS
A120 A130 are constant values for every object
1 2 LIN/element/value
88240 88241 RFF/element/value(two RFF`s identifier is 'AKV')
CAR CAR IMD/element[position()=3]/value
d Touring Edition d Coupe Edition IMD/element[position()=3]/value
bt-ax 303 TB-rb 123 NAD/element[position()=2]/value
7200 TB-rb 123 IMD/element[position()=3]/value[position()=2]
Müller, Thomas Burros, Thomas IMD/element[position()=3]/value[position()=2]
381.95 5.76 MOA/element/value[position()=2]
19.00 0 TAX/element[position()=3]/value
72.57 0 MOA/element/value[position()=2]
My problems are the following:
- order(sequence)
- multiple elementnames (the identifier is the first value the second value is the actual value examples: RFF-AKV, MOA-124, NAD-BV
- loops LIN-1, LIN-2, LIN-x
I have tried a lot, but i don't know how to solve this. The original file is much larger.
Maybe someone has a clue for me to find out the solution.