【问题标题】:Updating XmlValidatingReader function to use XMLReader?更新 XmlValidatingReader 函数以使用 XMLReader?
【发布时间】:2013-03-05 14:20:49
【问题描述】:

我正在尝试寻找以下函数的替代方法,该函数使用过时的 System.xml.XmlValidatingReader()。如何调整此代码以使用 XMLReader,这是 Visual Studio 建议的替代方法?随时用 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

【问题讨论】:

    标签: .net xml validation xsd xmlreader


    【解决方案1】:

    您可以通过将适当配置的XmlReaderSettings 传递给XmlReader.Create() 方法重载之一来创建验证阅读器。请参阅http://msdn.microsoft.com/en-ca/library/9khb6435.aspx 了解概述,http://msdn.microsoft.com/en-us/library/system.xml.xmlreadersettings.validationtype.aspx 了解更完整的示例。

    【讨论】:

    • 您的引用是正确的,而且切中要害;据我所知,这可能是您的其他一些答案被否决的原因,或者这个尚未被投赞成票的原因,但在这里,期望似乎应该提供更多信息和答案 - thisthis 看起来很相似...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多