第一次使用 LINQ to XML,攀登学习曲线...
我正在寻找如何从 XML 文件中检索和转换数据的最流畅的方法,使用尽可能少的 if-else 和,上帝保佑,try-catch 语句。我真的很讨厌所有冗长的代码,只是为了从文档中检索单个值。
话虽如此,我正在寻找一种故障安全解决方案,如果 XML 文档的结构发生意外更改,该解决方案不会中断。在这种情况下,我希望检索到空值,以便稍后在代码中检查它。
这是我的 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>
我正在寻找每行代码检索一个值的代码,即:
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 能够做到这一点的期望是幼稚的,但是,我已经为琐碎的漂亮 XML 处理编写了一大堆 XPath 表达式和 if-else 语句,对此我已经积累了一些苦涩。所以我确实怀着很大的希望转向 LINQ。