有人知道是否有可能将元素属性映射到父类/结构成员?
示例:
<parent>
<child id="1">
</parent>
我想让它像这样直接映射:
public class parent
{
public int id;
}
提前致谢
更新: 我没有明确说明,我正在寻找一个基于解决方案属性的解决方案,我可以使用XmlSerializer。
答案 0 :(得分:0)
您将不得不实施自己的IXmlSeriazliable
界面。
http://msdn.microsoft.com/en-us/library/system.xml.serialization.ixmlserializable.aspx
这是一个粗略的例子:
public class parent : IXmlSerializable
{
public int id { get; set; }
public XmlSchema GetSchema()
{
throw new NotImplementedException();
}
public void ReadXml(XmlReader reader)
{
while (reader.Read())
{
if (reader.Name == "child")
{
int parseValue;
int.TryParse(reader.Value, out parseValue);
this.id = parseValue;
}
}
}
public void WriteXml(XmlWriter writer)
{
writer.WriteStartElement("parent");
writer.WriteStartElement("child");
writer.WriteAttributeString("id", this.id.ToString());
writer.WriteEndElement();
writer.WriteEndElement();
}
}
这应该适用于XmlSerializer。