我在XML片段的XSLT轉換時遇到了問題。源XML看起來像這樣:XSLT - 棘手變換
<XXX>
<Name>Sample</Name>
<MMM>
<AAA ID="A"/>
<MMM>
<BBB ID="B"/>
<MMM>
<AA ID="C"/>
<BB ID="D"/>
</MMM>
</MMM>
</MMM>
</XXX>
但需要轉化爲:
<XXX>
<Name>Sample</Name>
<MMM>
<MMM>
<MMM>
<AAA ID="A"/>
<BBB ID="B"/>
</MMM>
<AA ID="C"/>
</MMM>
<BB ID="D"/>
</MMM>
</XXX>
規則很簡單,在MMM元素只能有兩個子元素節點。如果這些節點中只有一個碰巧是另一個MMM,則需要佔據第一個位置。
使用代碼很容易,但這些XML片段是SQL數據庫中XML列的值,我想使用SQL和XSLT一起更新這些值。
任何指針或建議?
您定義規則的方式不會反映在您的輸出XML中。我怎麼知道你的規則,它看起來像: ' 樣品 ' –
沒錯,但生成的XML是預期目標,AAA和BBB應該像第一個那樣保留它們的遍歷順序。 – Raybiez
你不僅僅在切換節點,你還將它們移動到更低或更高的層次,比如從2級到4級的AAA,以及從4級到3級的AA ......這就是我的煩惱 –