LINQ to XML を初めて使用し、学習曲線を上っていきます...
XML ファイルからデータを取得して変換する最もスムーズな方法を探しています。ドキュメントから単一の値を取得するだけの長いコードは本当に嫌いです。
そうは言っても、XMLドキュメントの構造が予期せず変更された場合に壊れないフェイルセーフソリューションを探しています。そのような場合、後でコードで確認できるように、null 値が取得されることを期待します。
ここに私のXMLドキュメントがあります:
<?xml version="1.0" encoding="utf-8"?>
<Entry>
<IntField>11</IntField>
<StringField>String data</StringField>
<DateTimeField>28/03/2013 18:10:02</DateTimeField>
</Entry>
コードの行ごとに 1 つの値を取得するコードを探しています。
myXMLdoc = XDocument.Load("sourceFile.xml");
int? myIntField = (smart linq query that retrieves&converts the value, with fallback of null);
string? myStringField = (smart linq query etc.);
DateTime? myDateTimeField = (smart linq query etc.);
if (myIntField == null)
{
// Complain that structure of the XML doc is bad
}
おそらく、LINQ がこれを実行できるという私の期待はナイーブですが、まあ、XPath 式の塊と塊と、簡単できれいな XML 処理のための if-else ステートメントを書いてきたので、それについていくらかの苦い思いを覚えました。だから私は本当に大きな期待を持ってLINQに目を向けます。