【发布时间】:2013-02-26 12:00:03
【问题描述】:
我正在尝试根据架构验证 xml。我正在使用 XmlReaderSetting 并尝试遵循 MSDN 上的示例,但无法使其工作。即使我针对模式抛出一个完全不同的文件,它也不会验证 xml。谁能解释一下我错过了什么?
谢谢,
Protected Sub ValidateXML(xmlFilePath As String, schemasFilePath As String)
Try
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.Schemas.Add("http://www.w3.org/2001/XMLSchema", schemasFilePath)
settings.ValidationType = ValidationType.Schema
Dim reader As XmlReader = XmlReader.Create(xmlFilePath, settings)
Dim document As XmlDocument = New XmlDocument()
document.Load(reader)
Dim eventHandler As ValidationEventHandler = New ValidationEventHandler(AddressOf ValidationEventHandler)
' the following call to Validate succeeds.
document.Validate(eventHandler)
reader.Close()
Catch ex As Exception
Messagebox(ex.Message, "error")
End Try
End Sub
Protected Sub ValidationEventHandler(ByVal sender As Object, ByVal e As ValidationEventArgs)
Select Case e.Severity
Case XmlSeverityType.Error
'Messagebox(e, "error")
Case XmlSeverityType.Warning
'Messagebox(e, "error")
End Select
End Sub
【问题讨论】:
-
ValidationEventHandler方法是否被调用? -
查看已询问的问题请参考 [this][1] 示例 [1]:stackoverflow.com/questions/8595875/…
-
嗨史蒂文,ValidationEventHandler 方法永远不会被调用..谢谢。有什么线索吗?
-
嗨桑迪,我已经检查了你发布的问题..它不相关..它没有使用架构,所以我不能使用那个帖子..谢谢..
-
无论何时向您自己的问题添加任何评论,您都会收到通知,但像 @sandy 和我这样的其他人不会。如果您希望通知其他人,则需要在其姓名后加上 @ 符号。