私は成功したXSDスキーマに対してXMLファイルを検証し、次のコードを持っている:XMLファイルのXSDエラーのファイル位置を取得するにはどうすればよいですか?
Try
Dim val As New Xml.XmlReaderSettings With {.ValidationType = ValidationType.Schema}
val.Schemas.Add(Nothing, "myvalidator.xsd")
Using reader = XmlReader.Create("myfile.xml", val)
While reader.Read
End While
End Using
Console.WriteLine("XML validation succeeded.")
Catch ex As Exception
Console.WriteLine("XML validation failed." & vbCr & vbLf & "Error Message: " & ex.Message)
End Try
私が持つ大規模なXMLファイルを検証していたとき、私は取得していますサンプルエラーが
The element 'address' has invalid child element 'zip_code'. List of possible elements expected: 'address_line_2, address_line_3, city'.
です数百人のメンバーがそれぞれ複数のアドレスを持っていますが、これは問題を特定するのに十分な情報ではありません。行番号やファイルの位置などの有用なデータを入手して、元のXMLファイルのどこで問題が発生しているかを知る方法はありますか?私は、XmlReaderがテキストリーダーと同じ方法でファイルを読み込んでいないことを認識しています.XMLはきれいにフォーマットされているか、1つの巨大な行になっている可能性があります。私はWhile
ループの中で何かをして問題がどこにあるのか知ることができるはずだが、私はそれをまだ見つけていないように思えるだろう。
パーフェクト。私は特定のエラータイプをトラップするのを忘れていたので、特定のXmlSchemaValidationExceptionハンドラではなくジェネリックExceptionハンドラのプロパティのみを調べていたので、LineNumberやLinePositionなどの余分なプロパティは表示されませんでした。必要。ありがとう! – gfrizzle