簡體   English   中英

XmlSerializer和類和xml屬性中的不同字段

[英]XmlSerializer and different field in class and xml attribute

我有幾個項目的xml,例如:

<TestObject>
  <TestElement1/>
  <TestElement2/>
</TestObject>
<TestObject>
  <TestElement1/>
  <TestElement2/>
</TestObject>

我也有課:

class TestClass {
  public int TestElement1 { get; set; }
  public int Element { get; set; }
}

如果我做:

XmlSerializer s = new XmlSerializer(typeof(List<TestClass>));
List<TestClass> list = (List<TestClass>)s.Deserialize("myXml.xml");

之后,我得到帶有對象TestClass的列表,但未設置屬性Element。 如果要在“元素”字段中設置TestElement2,如何更改序列化?

您需要使用[XmlElement]屬性裝飾Element屬性:

[XmlRoot("TestObject")]
class TestClass {
    public int TestElement1 { get; set; }

    [XmlElement("TestElement2")]
    public int Element { get; set; }
}

嘗試XmlElement屬性

public class TaxRates{
    [XmlElement(ElementName = "TaxRate")]
    public decimal ReturnTaxRate;
}

請參閱使用屬性控制XML序列化

暫無
暫無

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

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