実行時にxmlファイルを読み込むコードに取り組んでいます。その分、XmlDocument型を使用してxmlファイルを読み込み、SelectSingleNodeステートメントの周りにtry-catchをラップします(これは、ノードがnullであるか、ユーザーを解析しているときには存在しません作成されたxmlファイル)。C#でスキーマを使用してXMLを解析する
ご注意:XmlDocumentがXDocumentに置き換えられたことを認識しています。しかし、.NETバージョン3(according to this MSDN document XDocumentは.NET 3では使用できません)で作業しているので、現在はXmlDocumentを使用しています。私たちはさまざまな理由で.NET 3を使用しています(いくつかは仕様に関連しています)。上記の例で明らかに
private void LoadUserXMLFile()
{
XmlDocument xDoc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(fileName);
reader.Read();
xDoc.Load(reader);
try { firstElementString = xDoc.SelectSingleNode(<path to node>).InnderText);
catch { <exception handling here > }
//more SelectSingleNode statements, each wrapped inside
//individual try-catch blocks
}
、と私はcatch文を簡素化しました:
は、ここでは、分でやっていることの一例です。
このアプリケーションで動作するユーザー生成のXMLファイルのスキーマを作成しました。XML文書の解析中にスキーマを使用したかどうかは疑問でしたが、まだラップする必要がありますそれぞれのSelectSingleNodeはtry-catch文を使用していますか?
構文解析中にスキーマを使用してXML文書が正しい形式とすべての必須要素を持つことを確認することも可能ですか?