簡體   English   中英

讀取xml並將屬性分配給vb.net中的變量

[英]read xml and assign attributes to variables in vb.net

我有一個xml文件

<config>
   <email Host="201.175.0.0" From="address@gmail.com" Pass="xxx" Name="NameT"/>
   <combo/>
   <list sex="female"/>
</config>

如何在vb.net中將屬性的值分配給變量?

我在做

Dim doc As XmlDocument = New XmlDocument()
doc.Load("Test.xml")
Dim Host = doc.DocumentElement.Attributes.ItemOf("Host").InnerText
Dim From = doc.DocumentElement.Attributes.ItemOf("From").InnerText
Dim Pass = doc.DocumentElement.Attributes.ItemOf("Pass").InnerText
Dim Name = doc.DocumentElement.Attributes.ItemOf("Name").InnerText

這是正確的,什么是更好的方法?

試試這個,代替:

Dim doc As XmlDocument = New XmlDocument()
doc.Load("Test.xml")
Dim root As XmlNode = doc.DocumentElement
Dim nodeEmail As XmlNode = root.SelectSingleNode("/config/email")
Dim Host As String = nodeEmail.Attributes.ItemOf("Host").InnerText
Dim From As String = nodeEmail.Attributes.ItemOf("From").InnerText
Dim Pass As String = nodeEmail.Attributes.ItemOf("Pass").InnerText
Dim Name As String = nodeEmail.Attributes.ItemOf("Name").InnerText

您可能還需要考慮使用關聯數組(VB中的字典)來存儲這些屬性,而不是使用一堆變量。

在這種情況下,它將如下所示:

Dim doc As XmlDocument = New XmlDocument()
doc.Load("Test.xml")
Dim root As XmlNode = doc.DocumentElement
Dim nodeEmail As XmlNode = root.SelectSingleNode("/config/email")
Dim dictionary As New Dictionary(Of String, String)
dictionary.Add("Host", nodeEmail.Attributes.ItemOf("Host").InnerText)
dictionary.Add("From", nodeEmail.Attributes.ItemOf("From").InnerText)
dictionary.Add("Pass", nodeEmail.Attributes.ItemOf("Pass").InnerText)
dictionary.Add("name", nodeEmail.Attributes.ItemOf("Name").InnerText)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM