林與PHP5的工作,我需要在下面的表格來轉換XML:轉換XML結構到另一個XML結構
<item>
<string isNewLine="1" lineNumber="32">some text in new line</string>
<string>, more text</string>
<item>
<string isNewLine="1" lineNumber="33">some text in new line</string>
<string isNewLine="1" lineNumber="34">some text</string>
<string> in the same line</string>
<string isNewLine="1" lineNumber="35">some text in new line</string>
</item>
</item>
弄成這個樣子:
<item>
<line lineNumber="32">some text in new line, more text</string>
<item>
<line lineNumber="33">some text in new line</string>
<line lineNumber="34">some text in the same line</string>
<line lineNumber="35">some text in new line</string>
</item>
</item>
正如你所看到的,它已經加入了包含在多個「字符串」節點中的文本。 另請注意,'串'節點可嵌套在任何級別的其他節點中。
將源xml轉換爲目標xml有什麼可行的解決方案?
謝謝,
檢查評論到接受的答案,XSLT代碼仍然有一個錯誤。 – Tomalak 2010-09-06 15:20:57
好問題(+1)。看到我的答案是唯一正確的解決方案。您接受的解決方案根本不正確 - 只需運行它並將結果與您真正想要的結果進行比較即可。 – 2010-09-06 17:37:10
'@ isNewLine'似乎與'@ lineNumber'數據冗餘:如果'string'有一個'@ lineNumber',它總是有一個'@ isNewLine',反之亦然。 – dolmen 2010-09-09 10:21:19