XML ドキュメントを CSV ドキュメントに変換する特殊なケースがあります。私のXMLには、次の構造があります。
<Pictures>
<Picture>
<File>picture1.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<File>pictureX.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<File>picture999.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<File>picture1.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<ID>555</ID>
<File>detailX.jpg</File>
<Purpose>detail</Purpose>
</Picture>
<Picture>
<File>detail1.jpg</File>
<Purpose>detail</Purpose>
</Picture>
</Pictures>
私が欲しいのは次のCSVです:
normal1;normal2;normal3;detail1;detail2
picture1.jpg;pictureX.jpg;picture999.jpg;
ここまでは正しく変換できました。しかし問題は、私の XML には、他の目的の値を持つ Picture 要素を含めることができる他の多くの Pictures 要素があることです。
例:
<Pictures>
<Picture>
<File>picture1.jpg</File>
<Purpose>normal</Purpose>
</Picture>
</Pictures>
<Pictures>
<Picture>
<File>picture2.jpg</File>
<Purpose>detail</Purpose>
</Picture>
</Pictures>
<Pictures>
<Picture>
<File>pictureX.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<File>pictureY.jpg</File>
<Purpose>detail</Purpose>
</Picture>
</Pictures>
<Pictures>
<Picture>
<File>pictureA.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<File>pictureB.jpg</File>
<Purpose>normal</Purpose>
</Picture>
<Picture>
<File>pictureD.jpg</File>
<Purpose>detail</Purpose>
</Picture>
</Pictures>
CSV として:
normal1;normal2;detail1
picture1.jpg;;
;;picture2.jpg;
pictureX.jpg;;pictureY.jpg
pictureA.jpg;pictureB.jpg;pictureD.jpg
XSLTを使用するだけでそれが可能かどうか、またはその方法がわかりません。変換は高速でなければなりません (1 つの XML に 38k の Pictures 要素を簡単に含めることができます)。
誰かがアイデアを持っている場合は、投稿してください。前もって感謝します!
アンドレ