簡體   English   中英

如何在vb.net中更改xml文件元素屬性

[英]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.

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