XmlException を使用した XmlTextReader の例外処理

XmlException クラスは XmlTextReader クラスと共に使用され、データの解析中に見つかった構文エラーをキャッチします。データは W3C 勧告で規定される規則に従って構造化されますが、データの構造化に伴って問題が発生すると、エラーがキャッチされます。

LineNumber.xml ドキュメントの XML が整形式でない場合に、XmlException クラスから LineNumber.xml ドキュメントのエラーの LineNumberLinePosition が返される例を次のコードに示します。

Dim tr As New XmlTextReader("LineNumber.xml")
Dim r As New XmlValidatingReader(tr)
r.ValidationType = ValidationType.None
Try
   While r.Read()
   End While
Catch e As XmlException
   Console.WriteLine(e.Message)
   Console.WriteLine(("Exception object Line, pos: (" & e.LineNumber & "," & e.LinePosition & ")"))
   Console.WriteLine(("XmlReader Line, pos: (" & tr.LineNumber & "," & tr.LinePosition & ")"))
End Try

[C#]
XmlTextReader tr = new XmlTextReader("LineNumber.xml");
XmlValidatingReader r = new XmlValidatingReader(tr);
r.ValidationType = ValidationType.None;
try {
   while(r.Read());
}
catch(XmlException e) {
   Console.WriteLine(e.Message);
   Console.WriteLine("Exception object Line, pos: (" + e.LineNumber + "," + e.LinePosition  + ")");
   Console.WriteLine("XmlReader Line, pos: (" + tr.LineNumber + "," + tr.LinePosition  + ")");
}

詳細については、「XmlException メンバ」を参照してください。

参照

XmlReader による XML の読み取り | 文字ストリームによるコンテンツ全体の読み取り | ドキュメント タイプ宣言 | XmlTextReader による空白の取り扱い | 属性値の正規化 | XmlReader クラス | XmlReader メンバ | XmlTextReader クラス | XmlTextReader メンバ