在模型中设置XML属性
本文关键字:XML 属性 设置 模型 | 更新日期: 2023-09-27 17:49:59
我需要在XML中设置一个属性。我需要以下内容:
<finAccount version="1.00">
这是我到目前为止的模型
[XmlAttribute("version")]
[XmlType("finPOWERConnect")]
public class ApplicationData
{
public List<Account> Accounts;
}
[XmlType("finAccount")]
public class Account
{
//Account stuff
}
下面的函数使用上面的模型将我的对象序列化为xml。
public Boolean SerialiseObjectToXmlString(Object obj, ref string xml)
{
System.IO.MemoryStream ms = null;
bool Ok = true;
XmlSerializer xmlSerializer = null;
xml = "";
//Serialise
try
{
xmlSerializer = new XmlSerializer(obj.GetType());
ms = new MemoryStream();
xmlSerializer.Serialize(ms, obj);
xml = System.Text.Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Length);
ms.Close();
}
catch(Exception ex)
{
Ok = false;
xml = ex.Message;
}
finally
{
if (ms != null) ms.Dispose();
}
return Ok;
}
我已经看了几个在上面方法中设置属性的例子,但是我在整个应用程序中都使用了这个方法。是否有一种方法可以在模型中设置xml属性(version="1.00 ") ?
试试这个。类应该是XmlRoot,数组应该是XmlElement。XmlElement避免在代码中添加两层相同的标记。如果不使用XmlElement,您将看到不同之处。
[XmlRoot("finPOWERConnect")]
public class ApplicationData
{
[XmlElement("finAccount")]
public List<Account> Accounts {get; set; }
}
[XmlRoot("finAccount")]
public class Account
{
[XmlAttribute("version")]
public string Version { get; set; }
//Account stuff
}