XmlException を使用した XmlTextReader の例外処理
XmlException クラスは XmlTextReader クラスと共に使用され、データの解析中に見つかった構文エラーをキャッチします。データは W3C 勧告で規定される規則に従って構造化されますが、データの構造化に伴って問題が発生すると、エラーがキャッチされます。
LineNumber.xml ドキュメントの XML が整形式でない場合に、XmlException クラスから LineNumber.xml ドキュメントのエラーの LineNumber と LinePosition が返される例を次のコードに示します。
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 メンバ