请注意,我是.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)
答案 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。