这是我试图解决的问题的一个虚构示例。如果我使用 C# 工作,并且有这样的 XML:
<?xml version="1.0" encoding="utf-8"?>
<Cars>
<Car>
<StockNumber>1020</StockNumber>
<Make>Nissan</Make>
<Model>Sentra</Model>
</Car>
<Car>
<StockNumber>1010</StockNumber>
<Make>Toyota</Make>
<Model>Corolla</Model>
</Car>
<SalesPerson>
<Company>Acme Sales</Company>
<Position>
<Salary>
<Amount>1000</Amount>
<Unit>Dollars</Unit>
... and on... and on....
</SalesPerson>
</Cars>
SalesPerson 中的 XML 可能非常长,达到兆字节大小。我想反序列化标签,but不要反序列化 SalesPerson XML 元素,而是将其保留为原始形式“供以后使用”。
本质上,我希望能够使用它作为 XML 的对象表示。
[System.Xml.Serialization.XmlRootAttribute("Cars", Namespace = "", IsNullable = false)]
public class Cars
{
[XmlArrayItem(typeof(Car))]
public Car[] Car { get; set; }
public Stream SalesPerson { get; set; }
}
public class Car
{
[System.Xml.Serialization.XmlElementAttribute("StockNumber")]
public string StockNumber{ get; set; }
[System.Xml.Serialization.XmlElementAttribute("Make")]
public string Make{ get; set; }
[System.Xml.Serialization.XmlElementAttribute("Model")]
public string Model{ get; set; }
}
其中 Cars 对象上的 SalesPerson 属性将包含一个带有原始 xml 的流,该原始 xml 在通过 XmlSerializer 运行后位于 xml 元素内。
这可以做到吗?我可以选择仅反序列化 xml 文档的“部分”吗?
谢谢!
-麦克风
附注示例 xml 被盗如何反序列化 XML 文档 https://stackoverflow.com/questions/364253/how-to-deserialize-xml-document