質問
挿入されたスキーマが下に配置されているxmlをソートしたい。
1つの列値(アルファベット順)に基づいて行をソートしたい
Linq to Xmlでそれを行うことは可能ですか?または、XSLTが唯一の選択肢ですか?
ありがとう
カミル
わかりました、スキーマを削除してファイルの一部を提供しました
<Matrix>
...
<Rows>
<Row>
<Visible>1</Visible>
<Columns>
<Column>
<ID>col_f</ID>
<Value>
</Value>
</Column>
<Column>
<ID>col_0</ID>
<Value>r00329</Value>
</Column>
<Column>
<ID>col_1</ID>
<Value>Gerbera "Ambiance" rosa-creme</Value>
</Column>
<Column>
<ID>col_2</ID>
<Value>
</Value>
</Column>
<Column>
<ID>col_dost</ID>
<Value>Bl... Holland</Value>
</Column>
<Column>
<ID>col_3</ID>
<Value>0,000</Value>
</Column>
<Column>
<ID>col_5</ID>
<Value>0,000</Value>
...
解決
ソートされた行は次のようにして取得できます。
// assume rows is a reference to the <Rows> node
var query = from row in rows.Elements( "Row" )
let sortValue = (
from c in row.Element("Columns").Elements("Column")
where c.Element("ID").Value == "col_1"
select c.Element("Value").Value
).FirstOrDefault()
orderby sortValue
select row;
これにより、「行」のコレクションが得られます。 &quot; col_1&quot;でソートされた要素列の「値」。
必要に応じて調整します。
所属していません StackOverflow