我有一些XML表示例如4組成員(A,B,C,D)之間的排列。假設A = {A1,A2},B = {B1},C = {C1,C2}和D = {D1,D2,D3},但是當前的XML不正常,因爲這些成員以非規則的方式組合回答。 「set」屬性顯示集合的名稱,「member」顯示每個集合的每個成員。此XML如下所示:正常化的XML元素
<root>
<phrase permutation=ABCD>
<ans number=1>
<word set=A member=A1/>
<word set=A member=A2/>
<word set=B member=B1/>
<word set=C member=C1/>
<word set=D member=D2/>
</ans>
<ans number=2>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C1/>
<word set=C member=C2/>
<word set=C member=C3/>
<word set=D member=D1/>
<word set=D member=D3/>
</ans>
</phrase>
</root>
我想將每個排列置於特定的答案。每個答案應該以A的一個成員開始,並且以D的一個成員結束,並且在它們之間僅使用B和C組中的一個成員。 例如回答A1A2B1C1D2應分開,以A1B1C1D2,A2B1C1D2並回答A1B1C1C2C3D1D3應分開,以A1B1C1D1,A1B1C1D3,A1B1C2D1,A1B1C2D3,A1B1C3D1及A1B1C3D3最終XML喜歡如以下XML:
<root>
<phrase permutation=ABCD>
<ans number=1>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C1/>
<word set=D member=D2/>
</ans>
<ans number=2>
<word set=A member=A2/>
<word set=B member=B1/>
<word set=C member=C1/>
<word set=D member=D2/>
</ans>
<ans number=3>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C1/>
<word set=D member=D1/>
</ans>
<ans number=4>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C1/>
<word set=D member=D3/>
</ans>
<ans number=5>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C2/>
<word set=D member=D1/>
</ans>
<ans number=6>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C2/>
<word set=D member=D3/>
</ans>
<ans number=7>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C3/>
<word set=D member=D1/>
</ans>
<ans number=8>
<word set=A member=A1/>
<word set=B member=B1/>
<word set=C member=C3/>
<word set=D member=D3/>
</ans>
</phrase>
</root>
我希望我的問題保持清醒,你可以幫助我。 謝謝