使用XMLElement进行XML序列化
本文关键字:序列化 XML 进行 XMLElement 使用 | 更新日期: 2023-09-27 18:05:39
我有一个定义的类,它有以下数据
public partial class EHRNodesTesting {
private string fieldID;
private bool fieldRights;
private string fieldName;
[System.Xml.Serialization.XmlAttribute]
public string FieldID
{
get { return this.fieldID; }
set { this.fieldID = value; }
}
[System.Xml.Serialization.XmlAttribute]
public bool FieldRights
{
get { return this.fieldRights; }
set { this.fieldRights = value; }
}
[XmlElement("Value")]
public string FieldValue
{
get { return this.fieldName; }
set { this.fieldName = value; }
}
}
然后我用我得到的一组数据填充这个,所以我没有预定义的字段,然后序列化结果如下
<FieldNode>
<FieldName FieldID="LastName" FieldRights="true">
<FieldValue>Harris</FieldValue>
</FieldName>
<FieldName FieldID="FirstNameName" FieldRights="true">
<FieldValue>John</FieldValue>
</FieldName>
</FieldNode>
现在,是否有一种方法,序列化接受FieldID的值并用它替换FieldName,以获得以下
<FieldNode>
<LastName FieldID="LastName" FieldRights="true">
<FieldValue>Harris</FieldValue>
</LastName >
<FirstName FieldID="FirstName" FieldRights="true">
<FieldValue>John</FieldValue>
</FirstName>
</FieldNode>
对于XmlDocument/XDocument对象没有办法做到这一点。您是否尝试过通过实现IXmlSerializable
来定制输出?我对界面的限制没有经验。
我确实有一个类似xml的自定义序列化,我可以在其中更改节点的名称。我相信你也会这么做的。