私は LINQ to XML を初めて使用し、現在次の XML を使用しています。
<invoices>
<invoice>
<order_id>85</order_id>
<time>02:52 PM</time>
<date>24-05-2013</date>
<order>
<item>
<Main>
<id>343</id>
<Qty>1</Qty>
</Main>
<Add />
</item>
<item>
<Main>
<id>3</id>
<Qty>1</Qty>
</Main>
<Add>
<Extra id="1">
<Qty>1</Qty>
<Desc>Regular</Desc>
</Extra>
</Add>
</item>
</order>
</invoice>
<invoice>
<order_id>88</order_id>
<time>03:10 PM</time>
<date>24-05-2013</date>
<order>
<item>
<Main>
<id>345</id>
<Qty>1</Qty>
</Main>
<Add />
</item>
<item>
<Main>
<id>2</id>
<Qty>2</Qty>
</Main>
<Add>
<Extra id="1">
<Qty>1</Qty>
<Desc>Regular</Desc>
</Extra>
</Add>
</item>
</order>
</invoice>
</invoices>
これまでのところ、次のコードを記述しました。
void queryData(XDocument doc)
{
var data = from item in doc.Descendants("invoice")
select new
{
orderId = item.Element("order_id").Value,
orderDate = item.Element("date").Value,
orderTime = item.Element("time").Value
};
foreach(var p in data)
Console.WriteLine(p.ToString());
//...
}
「注文」タグでネストされたタグを読み取るのに問題があります。また、要素/タグの「追加」には「追加」の番号が付いている場合があります。タグ/要素の場合もあれば、そうでない場合もあります。
この xml が生成されるコードにアクセスできないため、このパターンを読む必要があります。
これまでグループ化を試みましたが、第 2 および第 3 レベルの要素を操作できません。
読んだ後、これらの値をデータベースに保存します。
ありがとう、