[英]How to change an xml file elements attributes in vb.net
嗨,我有一個預訂課程,其中存儲了預訂信息,我必須要預訂才能看起來像這樣
<BOOKING partner="CompanyName" transaction="BOOKING" version="1.0">
其中CompanyName是變量。 我只是想知道是否有人可以幫助我將屬性添加到預訂元素。 我正在使用vb.net將屬性添加到類中還是在序列化期間或之后添加它們? 如果您可以幫助編寫很棒的代碼,
您的類看起來像這樣,假設該節點已經全部存在(您沒有關閉它)。
Imports System.Xml.Serialization
Class BOOKING
<XmlAttribute>
Public Property partner As String
<XmlAttribute>
Public Property transaction As String
<XmlAttribute>
Public Property version As String
End Class
用法
Dim s = New XmlSerializer(GetType(BOOKING))
如果是代碼中的字符串
Dim xml = "<BOOKING partner=""CompanyName"" transaction=""BOOKING"" version=""1.0""/>"
或者您可以從文件中讀取
Using sr As New StreamReader("xmlFileNameAndPath.xml")
xml = sr.ReadToEnd()
End Using
反序列化到您的BOOKING
對象中
Dim b As BOOKING = s.Deserialize(New StringReader(xml))
然后,您可以編輯對象並將其序列化回原始xml
b.partner = "different company"
Using sw As New StreamWriter("xmlFileNameAndPath.xml")
s.Serialize(sw, b)
End Using
雖然在實際的XML文件中,可以有一個XmlRoot
元素(該解決方案采用BOOKING
的根),那么你就可以有多個BOOKING
中的元素。 希望這能使您滾動。
Dim swLineItem As New IO.StringWriter()
Dim xmlWriter As New System.Xml.XmlTextWriter(swLineItem)
xmlWriter.WriteStartDocument()
xmlWriter.WriteStartElement("YourOuterMostElement")
xmlWriter.WriteStartElement("Booking")
xmlWriter.WriteAttributeString("partner", "CompanyName")
xmlWriter.WriteAttributeString("transaction", "BOOKING")
xmlWriter.WriteAttributeString("version", "1.0")
xmlWriter.WriteEndElement()
xmlWriter.WriteEndElement()
xmlWriter.WriteEndDocument()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.