解析XML以获取节点值

时间:2013-04-15 02:20:02

标签: xml vb.net xml-parsing

我想像这样解析XML字符串:

<Folk id="4630" country="US" name="Marry" />

(放在富文本框编辑器中)

并获取idcountryname值。

我尝试了什么:

 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=""?对该节点的访问是否称为错误?

1 个答案:

答案 0 :(得分:1)

问题在于您在解析XML之后尝试引用XML的方式。

尝试更改此行:

Dim id As String = item.ChildNodes(0).InnerText()

以下内容:

Dim id As String = item.Attributes(0)

countryname将是:

Dim country As String = item.Attributes(1)
Dim name As String = item.Attributes(2)

编辑抱歉,我同时在说c#和vb.net。现在已经修好了。