私はまだ XML ファイルの操作に慣れてきました。私はオンラインで多くの例を見てきましたが、エラー処理の欠如に感銘を受けました。
最も一般的なエラーは次のようなものel.Attributes["name"].Value
です。XML は人間が編集できるため、属性が欠落している可能性があります。Value
プロパティを参照しようとするとnull
、例外が発生します。他の問題は、データが予期された形式ではないことに関連しています。
そこで、次の行に沿っていくつかのヘルパー拡張メソッドを書き始めました。
public static class XmlHelpers
{
public static string GetValue(this XmlAttribute attr, string defaultValue = "")
{
if (attr != null)
return attr.Value;
return defaultValue;
}
public static bool GetValueBool(this XmlAttribute attr, bool defaultValue = false)
{
bool value;
if (bool.TryParse(attr.GetValue(), out value))
return value;
return defaultValue;
}
}
私はこれがうまくいくことを知っています。しかし、私は何かが欠けていますか?XmlDocument
この種のものを不要にする機能をすでに提供していますか? 他の人がこれにどのように対処しているのか、私はただ疑問に思っています。
私は、多くの XML ファイルが人間によって編集されていないことを認識しています。そのため、多くの人は、エラーがないと仮定してコードを書くだけかもしれません。エラーがある場合は、例外があります。私はそれを理解することができます。しかし、ファイルが人間によって編集され、何かが正しくフォーマットされていない場合、アプリにもう少し柔軟性を持たせたいと思っていました。