3
我有一個具有以下數據XML序列化使用的XMLElement
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>
我可能會誤解你所問的內容,但是如果你想修改節點名,'XmlNode.Name'是一個**只讀**屬性。考慮自己創建xml。請參閱[XDocument](http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx) – tnw 2013-03-25 18:53:44
我發現節點名稱通常與某個屬性或類相關,因此請考慮命名要麼相應 – Sayse 2013-03-25 18:59:35
所以看起來沒有辦法設置一個規則來做到這一點,而不是創建自己的XML – 2013-03-25 19:04:41