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

时间:2014-05-02 15:12:46

标签: xml vb.net

您好,我有预订信息的预订,我必须预订看起来像这样

<BOOKING partner="CompanyName" transaction="BOOKING" version="1.0">

其中CompanyName是变量。 我只是想知道是否有人可以帮助我将属性添加到预订元素。 我正在使用vb.net我是否将属性添加到类中,还是在序列化期间或之后添加它们? 如果你可以提供很棒的代码,

2 个答案:

答案 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()