我面临以下问题:
如果我有以下 XML 数据:
<Input>
<Error>
<Info>
<Code> 111 </Code>
<Value>Hello User </Value>
</Info>
<Info>
<Code>118</Code>
<Value>01</Value>
</Info>
</Error>
<Error>
<Info>
<Code> 111 </Code>
<Value>Bye User </Value>
</Info>
<Info>
<Code>118</Code>
<Value>01</Value>
</Info>
</Error>
<Error>
<Info>
<Code> 111 </Code>
<Value>Dead User </Value>
</Info>
<Info>
<Code>118</Code>
<Value>06</Value>
</Info>
</Error>
<Error>
<Info>
<Code> 111 </Code>
<Value>Killed User </Value>
</Info>
<Info>
<Code>118</Code>
<Value>08</Value>
</Info>
</Error>
</Input>
知道输出应该类似于
<RecNum>"Value found inside VALUE[2]"</RecNum>
<Error-Description> "Value found inside Value[1]" </Error-Description>
请注意,我并不总是有相同的输出。我可以肯定的是,在每个Error
元素中,我每次都有 2 个Info
元素和 2 个Value
元素。
Error
然而,我不知道我在同一个元素中有多少个元素Value[2]
,所以有时我有 3 个Error
元素,它们都有 2 个Info
标签,但是这三个错误,它们Info[2]/Value/text()
是相同的。
所以上述输入的输出应该是这样的
<Errors>
<Module>
<RecNum>1 </RecNum>
<Error-Description>Hello user </Error-Description>
<Error-Description>By User </Error-Description>
</Module>
<Module>
<RecNum>6 </RecNum>
<Error-Description> Dead User </Error-Description>
</Module>
<Module>
<RecNum>8 </RecNum>
<Error-Description> Killed User </Error-Description>
</Module>
</Errors>
请注意,我没有值为 02、03、04、05、07、09 等...
我只有 01、06 和 08 的值,有时这些值可能会有所不同。如果你愿意,怎么能做到这样的逻辑?