2011-12-06 2 views
-4

를 배열하는?C#을 추가 데이터는이 코드를

<account ID="test"></account>은 자신의 Account입니다.

result.Add(account); 

을하고 결국 반환 :

var result = new List<Account> 

다음 목록에 항목을 추가

return result.ToArray(); 
+0

경우 XML 문서를 역 직렬화 할 수 있습니다. 그렇지 않으면'XmlReader' 또는'XDocument'를 사용하십시오. – Yuck

+0

이미 XML 읽기가 완료되었습니다. 함수가 각 계정을 반환하도록해야합니다. – tr0yspradling

답변

6

적절한 XML 직렬화를 사용하는 것을 고려하는 대신

+0

나는 이것을 테스트했으며 완벽하게 작동합니다. 고맙습니다! – tr0yspradling

1

당신은 목록을 할 수 너 자신을 쓰는거야. .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; } 
} 

Account 클래스가 :

이`Account` 클래스가 실제로 일치
public class Account { 
    [XmlAttribute("ID")] 
    public string Id { get; set; } 

    [XmlElement("stuff")] 
    public StuffType Stuff { get; set; } 

    // ... and so on 
} 
+2

XML에 대한 도움이 필요하지 않습니다. 컬렉션에 대한 도움이 필요합니다. – tr0yspradling

관련 문제