在VB.NET中验证XML字符串

时间:2011-12-21 20:23:31

标签: asp.net xml vb.net

请注意,我是.NET和ASP.NET的新手。

我有一个尝试从URL加载XML文本的脚本,我很难弄清楚如何检查它是否是有效的,规范化的XML。我没有架构,因为有几个变量可以改变XML格式,我只想检查以确保所有开始标签都正确关闭,这样我就可以验证整个字符串是否正确加载了。这就是我现在所拥有的。

Dim objResponse As HttpWebResponse
Dim objRequest As HttpWebRequest
Dim strXml As String
Dim newMembers As New DataSet
Dim xmlReader As StringReader

'get xml from current file
objRequest = HttpWebRequest.Create(xmlurl)
objResponse = objRequest.GetResponse()

Using sr As New StreamReader(objResponse.GetResponseStream())
    strXml = sr.ReadToEnd()
    sr.Close()
End Using

'I would like to add something here to validate strXML

' create a dataset from the XML file pulled down from the remote server
newMembers = New DataSet()
xmlReader = New System.IO.StringReader(strXml)
newMembers.ReadXml(xmlReader)

3 个答案:

答案 0 :(得分:2)

dim x = System.Xml.Linq.XDocument.Parse("<xml><valid_tag /></xml>")

如果您的xml无效,则抛出异常。

否则:

dim x = System.Xml.Linq.XDocument.Load("path_to_xml_file")

相同的行为

答案 1 :(得分:1)

创建一个XmlDocument对象,并在其上调用LoadXml方法。如果标签没有正确构造,它将引发异常。

Dim xDoc As New XmlDocument()
xDoc.LoadXml(strXml)

答案 2 :(得分:0)

您可以使用XmlDocument.Load方法,如果失败,您可以认为它不是有效的XML。

XmlDocument.Load Method (Stream)