2

古い System.xml.XmlValidatingReader() を使用している次の関数に代わるものを見つけようとしています。Visual Studio が代替案として提案している XMLReader で動作するように、このコードをどのように適応させることができますか? C# または VB.NET で自由に応答を投稿してください。関数に渡す xmlString は、XSD スキーマを参照している生の xml です。

    'VALIDATE XML
    Public Shared Function validateXml(ByVal xmlString As String) As XmlDocument
        xmlErrorStr = ""
        Dim strReader As New StringReader(xmlString)
        Dim xmlr As New XmlTextReader(strReader)
        Dim xmlvread As New XmlValidatingReader(xmlr)

        ' Set the validation event handler
        AddHandler xmlvread.ValidationEventHandler, AddressOf ValidationCallBack

        Try
            While (xmlvread.Read)
            End While
        Catch ex As Exception
            xmlErrorStr = "<Error>" & vbCrLf & "<Exception>The XML document is invalid or malformed</Exception>" & vbCrLf & "</Error>"
        End Try

        'Close the reader.
        xmlvread.Close()
        strReader.Close()

        Dim xmlDocument As New XmlDocument


        xmlDocument.LoadXml("<Errors>" & xmlErrorStr & "</Errors>")

        Return xmlDocument
    End Function
4

1 に答える 1

2

メソッドのオーバーロードXmlReaderSettingsの 1 つに適切に構成されたものを渡すことで、検証リーダーを作成できます。概要についてはhttp://msdn.microsoft.com/en-ca/library/9khb6435.aspxXmlReader.Create()参照してください。より完全な例。

于 2013-03-21T18:06:43.753 に答える