Đây là một ví dụ hư cấu của vấn đề tôi đang cố gắng giải quyết. Nếu tôi đang làm việc trong C# và có XML như thế này:Làm thế nào để deserialize chỉ một phần của một tài liệu XML trong C#
<?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>
XML bên trong SalesPerson có thể có kích thước rất dài, megabyte. Tôi muốn deserialize thẻ, nhưng không deserialize phần tử XML SalesPerson thay vì giữ nó ở dạng thô "cho sau này".
Về bản chất tôi muốn có thể sử dụng điều này như là một biểu diễn đối tượng của 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; }
}
hợp tài sản trên đối tượng Ô tô nhân viên bán hàng sẽ chứa một dòng với xml liệu đó là trong phần tử xml < nhân viên bán hàng > sau khi chạy qua một XmlSerializer.
Việc này có thể thực hiện được không? Tôi có thể chọn chỉ deserialize "một phần của" một tài liệu xml?
Cảm ơn! -Mike
p.s. ví dụ xml bị đánh cắp từ How to Deserialize XML document
Giải pháp tuyệt vời, tôi thấy rằng tôi cũng cần thiết để thiết lập gốc xml của đoạn để tránh một ngoại lệ với một ngoại lệ bên trong nói rằng ... xmlns = ''> không được mong đợi. Tôi đã thêm một câu trả lời cho giải pháp của tôi, vì giới hạn của các giới hạn độ dài bình luận. –