2011-12-21 7 views
1

.NETとASP.NETの新機能です。VB.NETでのXML文字列の妥当性チェック

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

XmlDocument.Loadメソッドを使用できます。失敗すると、有効なXMLではないとみなすことができます。

XmlDocument.Load Method (Stream)

+0

おかげ - 人々は、それが消費されたかを見ることができたので、私は少しだけ多くのコードを追加しました。 DataSetメソッドReadXMLも同じことを行う必要がありますか? – unclesol

+0

@unclesol - 私はそう信じています。ソースが無効なXMLの場合、ReadXmlは失敗するはずです。 – zeroef

1

XmlDocumentオブジェクトを作成し、その上にLoadXmlメソッドを呼び出します。タグが正しく構築されていないと、例外がスローされます。

Dim xDoc As New XmlDocument() 
xDoc.LoadXml(strXml) 
2
dim x = System.Xml.Linq.XDocument.Parse("<xml><valid_tag /></xml>") 

あなたのxmlが有効でない場合、例外がスローされます。

さも:

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

同じ動作

関連する問題