【发布时间】:2014-05-07 12:16:32
【问题描述】:
我正在编写一个程序,它使用返回 XML 的 HTTP GET 调用 Feed。
我已经编写了能够读取每个元素及其值的代码,但我只想将特定元素值检索到特定变量。
我可以使用嵌套的 If 语句来检查“reader.value”,然后将其放入相关变量中,但觉得这似乎很麻烦,希望有更好的理解。
这是我当前的代码:
Const URLString As String = "https://geturl"
Dim reader As XmlTextReader = New XmlTextReader(URLString)
Do While (reader.Read())
Select Case reader.NodeType
Case XmlNodeType.Element 'Display beginning of element.
Console.Write("<" + reader.Name)
If reader.HasAttributes Then 'If attributes exist
While reader.MoveToNextAttribute()
'Display attribute name and value.
Console.Write(" {0}='{1}'", reader.Name, reader.Value)
MsgBox(reader.Value)
End While
End If
Console.WriteLine(">")
Case XmlNodeType.Text 'Display the text in each element.
Console.WriteLine(reader.Value)
Case XmlNodeType.EndElement 'Display end of element.
Console.Write("</" + reader.Name)
Console.WriteLine(">")
End Select
Loop
这是返回的信息:
<result id="4198608" generated="1399463340" mode="live" account_id="428">
<vrm>GY08OJB</vrm>
<make>AUDI</make>
<model>A6 SE TDI</model>
<colour>BLACK</colour>
<body>ESTATE</body>
<doors>5 DOORS</doors>
<engine_size>1968</engine_size>
<fuel>HEAVY OIL</fuel>
</result>
我希望将每个单独的节点返回到单独的记录,以便可以将其返回到一些文本框。
干杯:/
【问题讨论】: