2009-06-11 23 views
0

私はxsdスキーマファイルを使用しています。そこに私は順序付けられたリストを指定しました。 (有効なXML構文である)myOrderedList > "element_1" "element_2" "element_3" </myOrderedList > ...XMLパーサで解析された順序付きリストを取得するには?

<の種類のXMLノードを解析...私が知っているすべてのXMLパーサは、これを単一のノード要素として解析します。 XMLパーサーがこのリストを解析して(リストや配列などとして)返す方法がありますか、それとも自分自身で解析する必要がありますか?

+0

私の理解では、XML子ノードは性質上順序付けられていません。しかし、ほとんどの(すべて?)XMLパーサはドキュメント順にそれらを返します。 それで、彼らは慣習によって命じられます。私が注文を強制したいのであれば、私はこの場合人工注文タグまたは属性を追加する必要があります。一方、xsdでリストを順序付きリストとして宣言すると、厳密な順序付けが行われます。 –

答えて

0

XMLのデータ構造を使用して、各要素を独自のXML要素に入れるのはなぜですか?例えばなど

<myOrderedList> 
    <element>1</element> 
    <element>2</element> 
    <element>3</element> 
</myOrderedList> 

そうしないと、XMLパーサがあなたのために実行されていることを解析努力の上に(簡単な方法であるものの)の解析を実装するために抱えていますか?

あなたが上記の操作を行う場合は、パーサは任意の更なる作業をせずにあなたの順序付きリストが返されます、および/またはリスト内などXSLT/XQueryのような標準的なXMLツールを使用して

0

値より簡単にそれを処理することができます型は常に空白で区切られているので、トークナイザに渡して値のリストを簡単に渡すことができます。 このような要素の値の一覧が表示されるXSLT 2.0スキーマ対応技術などがあります。

他の回答で提案されている要素を使用することも解決策であり、処理が楽になる可能性があります。 XMLでは、子ノードはオーダーされているので、心配する必要はありません。可能な表現は次のようになります。

<myOrderedList> 
    <value>element_1</value> 
    <value>element_2</value> 
    <value>element_3</value> 
</myOrderedList> 
関連する問題