您好,我有预订信息的预订,我必须预订看起来像这样
<BOOKING partner="CompanyName" transaction="BOOKING" version="1.0">
其中CompanyName是变量。 我只是想知道是否有人可以帮助我将属性添加到预订元素。 我正在使用vb.net我是否将属性添加到类中,还是在序列化期间或之后添加它们? 如果你可以提供很棒的代码,
答案 0 :(得分:1)
你的课程看起来就是这样,假设节点的全部内容(你没有关闭它)。
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
元素。希望这能让你滚动。
答案 1 :(得分:0)
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()