我正在使用IXmlSerializable將特定類型的元素寫入傳出的xml。 我已經實現了模式,並且正在寫出項目。下面的代碼就是一個例子。在IXmlSerializable中查找引用
public void IXmlSerializable.WriteXml(XmlWriter writer) {
// Write Out Class.
foreach (var item in myItems) {
DataContractSerializer ds = new DataContractSerializer(typeof(MyType));
ds.WriteObject(writer, item);
}
}
我的問題是,MyType的聲明爲使用引用
[DataContract(IsReference = true)]
public class MyType { ...
因此,當該項目已被寫入到它需要一個引用的XML。
如何知道引用是否已寫入xml? 我認爲我必須忽略我明確無法控制的引用。這樣我將編寫自己的引用ID並引用我自己的實例。
這顯然是一個糟糕的黑客攻擊,因爲我複製了不應重複的引用。
有沒有什麼辦法找出已經寫了什麼,看看我能否找到已經序列化的物品的ID?
Regards
Craig。