0
序列化這有很多麻煩。非常新的XML中的serlializing序列化XML添加額外的元素
這裏是我正在寫入序列化的數據類。
string addrID="Sante Fe, New Mexico";
INPUT r = new INPUT();
INPUTLOG ls = new INPUTLOG();
ls.id = id;
ls.password = password;
r.LOGIN = ls;
REQUESTaddr l = new REQUESTaddr();
l.loan_id = addrID;
INPUTLOGINREQ r = new INPUTLOGINREQ();
r.LOAN = l;
loan.REQUEST = r;
string serializedSearch = doSerializationsearch(r);
private static string doSerializationsearch(INPUT r)
{
string serializedValue = string.Empty;
XmlSerializer xmlSerializer = new XmlSerializer(r.GetType());
using (MemoryStream ms = new MemoryStream())
{
xmlSerializer.Serialize(ms, r);
ms.Position = 0;
var sr = new StreamReader(ms);
serializedValue = sr.ReadToEnd();
}
serializedValue = serializedValue.Replace("version=\"0\"", string.Empty).Replace("<?xml version=\"1.0\"?>", string.Empty).Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", string.Empty);
return serializedValue;
}
出於某種原因,它用一個我不想要的addridfield元素序列化它。
<INPUT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<LOGIN api_user_id="user" api_password="password" />
<REQUEST>
<Address addr_id="53196d9f4c544e4da9f647b2c86444c2">
<addridField>53196d9f4c544e4da9f647b2c86444c2</addridField> <<<<<I do not want this
</Address>
</REQUEST>
</INPUT>
我沒有注意到anythign錯了我的班我的眼睛,但別人通知的東西,我做錯了添加此額外的元素。
呃...我正在尋找一些我做過的...謝謝你的新眼睛 – Jt2ouan
或者如果你需要它的話,用'[System.Xml.Serialization.XmlIgnore]'屬性標記它公開 – Tobsey