私はxmlで始まり、C#とlinqの両方で始まります。xmlからデータを取得する(不正な形式ですか?)#
私は、XML
それは同じ要素名と使用が値の名前をspecififyする属性を使用し作成した
<allegati tot_ele="2">
<record>
<dato nome="IdUnivoco">35516</dato>
<dato nome="Nome">QUOTAZIONE</dato>
<dato nome="RelationID">1268</dato>
<dato nome="nomeFile">1268.pdf</dato>
</record>
<record>
<dato nome="IdUnivoco">35516</dato>
<dato nome="Nome">CONFERMA D`ORDINE</dato>
<dato nome="RelationID">1267</dato>
<dato nome="nomeFile">1267.pdf</dato>
</record>
</allegati>
のこの種は、それぞれの構造体を作成するための簡単な方法がありましたレコードとlinqの構造体のリストを作成すると?私は、文字列の4つの異なるリストを作成するために管理し、現時点で
(私は2ではなく、すべての4ポスト)
List<string> NomeFile1 = (from c in listaAttch.Descendants("dato")
where c.Attribute("nome").Value == "nomeFile"
select c.Value).ToList();
List<string> Relation = (from c in listaAttch.Descendants("dato")
where c.Attribute("nome").Value == "RelationID"
select c.Value).ToList();
その後、私は私のニーズのための4弦
for (int i = 0; i < Relation.Count; i++)
{
byte[] file = Adiuto.getAttachContent1(login, 35516, Int32.Parse(Relation [i]));
System.IO.File.WriteAllBytes("c:\\navision\\" + NomeFile1[i], file);
.
.
.
}
を使用するためで
これを行うには、より迅速かつより洗練された方法がありますか? linqを4回繰り返す必要はありませんか? それは、事前にすべての4つの属性値で
感謝を構造体のリストを作成することもOKです
ファブリツィオ
このXMLについては何も変わっていません(または珍しいことでもありません)。 Linqが処理するように設計されたXMLの種類ではありません(簡単に)。 –