3

我有一个已定义的类,其中包含以下数据

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>
4

1 回答 1

0

XmlDocument/XDocument 对象无法做到这一点。您是否尝试过通过实施来自定义输出IXmlSerializable?我对界面的限制没有经验。

我确实有一个类似 XML 的自定义序列化,我可以在其中更改节点的名称。我相信你也必须这样做。

于 2013-03-25T20:19:40.570 回答