【发布时间】:2018-05-12 08:08:24
【问题描述】:
例如,是否可以将原始 XML 元素存储在 C# 类中?
原始 XML:
<data someattributea="" someattributeb="" someattributec="" />
C#
using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace Xml2CSharp
{
[XmlRoot(ElementName="data")]
public class Data {
[XmlAttribute(AttributeName="someattributea")]
public string Someattributea { get; set; }
[XmlAttribute(AttributeName="someattributeb")]
public string Someattributeb { get; set; }
[XmlAttribute(AttributeName="someattributec")]
public string Someattributec { get; set; }
public sourceXML { get; set; } //this would return <data someattributea="" someattributeb="" someattributec="" />
}
}
我知道我可以再次反序列化该类,但某些 XML 对象在设计时是未知的。
【问题讨论】:
-
这两个答案对你有用吗,还是你需要额外的帮助?
-
不是真的,当我需要使用属性时,它们正在使用元素。但是,XmlAnyAttribute 确实有效(属性值/名称列表),但是您可以在同一个类中混合名称属性和 XmlAnyAttributes。
-
对。那么XmlSerializer equivalent of IExtensibleDataObject 的副本,还是需要更多帮助?
标签: c# xml serialization xmlserializer