私はこの正確な質問とその迷惑メールに対する回答を見つけることができませんでした。重複した要素の問題のXML順
重複する要素の順序が重要なXMLスキーマを作成する必要があります。例:
<article>
<line>This article was</line>
<line>written by</line>
</article>
私は上記の例がかなり工夫されていることを知っていますが、私の場合を示しています。私は実行順序が重要な一連のコマンドを逆シリアル化する必要があります。これを達成するための唯一の方法は、各子要素にorder="[integer]"
属性を追加することです(上の例の<line>
タグ)。しかし、XML文書が手作業で入力されるようになると、それはやや重いと思われます。代わりがありますか?
XSDが多すぎる場合は、XPathを使用してドキュメントをクエリし、オブジェクトのプロパティを設定してください。注文を確認するには、アプリケーションロジック(XSDではなく)を使用します。 –
私は実際にXMLパーサに依存して、パーシング時に順序が維持されることを確実にしたくありません。それは非常に安全だと思いません。より良い解決策がない場合は、質問 – Clivest
に記載されているように 'order'属性を使用しますか?解析中は常に注文が維持され、すべてのパーサーがそれを保持します。これはXMLデータモデルの不可欠な部分です。上の他のライブラリが気にしないかもしれないが、パーサーは決して注文を変えないかもしれないし、DOMのような基本的なデータモデルもそうでないかもしれない。 – StaxMan