2

我想像这样解析 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=""呢?访问节点是否调用错误?

4

1 回答 1

1

问题是您在解析 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。现在修复了。

于 2013-04-15T02:35:30.127 回答