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 に答える