我想像这样解析XML字符串:
<Folk id="4630" country="US" name="Marry" />
(放在富文本框编辑器中)
并获取id
,country
,name
值。
我尝试了什么:
Dim content As String = Me.RichTextBox1.Text
Dim doc As New System.Xml.XmlDocument
Try
doc.LoadXml(content)
Catch ex As Exception
Label2.Text = "No XML Elements!!!!"
End Try
Dim items = doc.GetElementsByTagName("Folk")
For Each item As System.Xml.XmlElement In items
Dim id As String = item.ChildNodes(0).InnerText()
MsgBox(id) 'Try to prompt a message box containing the id=""
Next
最终会出现错误:NullReferenceException was unhandled.
- 它没有找到id
,所以我没有处理这个错误,首先我想得到正确的回报,然后我会处理,如果没有找到。那么为什么它不返回Folk
id=""
?对该节点的访问是否称为错误?
答案 0 :(得分:1)
问题在于您在解析XML之后尝试引用XML的方式。
尝试更改此行:
Dim id As String = item.ChildNodes(0).InnerText()
以下内容:
Dim id As String = item.Attributes(0)
country
和name
将是:
Dim country As String = item.Attributes(1)
Dim name As String = item.Attributes(2)
编辑抱歉,我同时在说c#和vb.net。现在已经修好了。