【发布时间】:2009-10-20 00:53:33
【问题描述】:
我正在尝试编写一个通用 VB.NET (VS2005) 函数来针对 XSD 验证 XML 文档。这工作正常,直到我使用具有相对路径的 XSD 包括:
<xs:include schemaLocation="test.02.xsd" />
它似乎永远无法找到任何辅助文档中包含的内容。这是我下面的原始功能。我一直在玩 XmlUrlResolver() 但我似乎也无法使用它取得任何进展。在这里的任何帮助将不胜感激。
Private Sub ValidatingProcess(ByVal XSDPath As String, ByVal XMLPath As String)
Try
Me.Reader = New XmlTextReader(XMLPath)
Dim SR As New StreamReader(XSDPath)
Dim Schema As New XmlSchema()
Schema = XmlSchema.Read(SR, New ValidationEventHandler(AddressOf ReaderSettings_ValidationEventHandler))
Dim ReaderSettings As New XmlReaderSettings()
ReaderSettings.ValidationType = ValidationType.Schema
ReaderSettings.Schemas.Add(Schema)
AddHandler ReaderSettings.ValidationEventHandler, AddressOf ReaderSettings_ValidationEventHandler
Dim objXmlReader As XmlReader = XmlReader.Create(Reader, ReaderSettings)
While objXmlReader.Read()
End While
Catch AccessEx As UnauthorizedAccessException
Throw AccessEx
Catch Ex As Exception
Throw Ex
End Try
End Sub
【问题讨论】:
标签: .net xml xsd relative-path