C#向数组添加数据
我有以下代码:C#向数组添加数据,c#,xml,arrays,collections,C#,Xml,Arrays,Collections,我有以下代码: public static Account[] LoadXml(string fileName) { Account ths = new Account(); // load xml data // put data into properties/variables // the xml is in a structure like this: /* <accounts> <acco
public static Account[] LoadXml(string fileName) {
Account ths = new Account();
// load xml data
// put data into properties/variables
// the xml is in a structure like this:
/*
<accounts>
<account ID="test account">
<!-- account variables here -->
</account>
<account ID="another test account">
<!-- account variables here -->
</account>
</accounts>
*/
}
公共静态帐户[]加载XML(字符串文件名){
账户ths=新账户();
//加载xml数据
//将数据放入属性/变量中
//xml的结构如下所示:
/*
*/
}
如何返回包含这些帐户的数组或集合
每个
都是它自己的帐户
您可以执行的操作列表:
var result = new List<Account>
最后把它还给我:
return result.ToArray();
考虑使用适当的xml序列化,而不是编写自己的xml序列化。NET框架确实可以为您处理所有问题,包括数组、集合或列表 您的代码应该如此简单:
using (var stream = File.OpenRead(filename)) {
var serializer = new XmlSerializer(typeof(AccountsDocument));
var doc = (AccountsDocument)serializer.Deserialize(stream);
return doc.Accounts;
}
AccountsDocument类:
[XmlRoot("accounts")]
public class AccountsDocument {
[XmlElement("account")]
public Account[] Accounts { get; set; }
}
帐户类别:
public class Account {
[XmlAttribute("ID")]
public string Id { get; set; }
[XmlElement("stuff")]
public StuffType Stuff { get; set; }
// ... and so on
}
如果您的
帐户
类实际上与XML文档匹配,您可以尝试对其进行反序列化。否则,请使用XmlReader
或XDocument
。我已经完成了Xml读取,我只需要让函数返回每个帐户。我不需要Xml方面的帮助。。我只是需要收藏方面的帮助。
public class Account {
[XmlAttribute("ID")]
public string Id { get; set; }
[XmlElement("stuff")]
public StuffType Stuff { get; set; }
// ... and so on
}