C # вернуть все конкретные элементы из XML - PullRequest
0 голосов
/ 01 апреля 2011

Привет.У меня небольшая проблема, с которой я хотел бы помочь.У меня очень большой XML-файл с около 1000 клиентов с различной информацией о клиентах.И я хотел бы сделать методы, чтобы получить эту информацию.Я искал везде, но не могу найти то, что искал.В настоящее время я пытаюсь:

public custInformation getcustInfo(string file) {      
    //Load the xml file
    var xe = XDocument.Load(_server.MapPath(file)).Root;

    //Get information
    return (from p in xe.Descendants("cust-account").Descendants("cust-info")
            select new custInformation
            {
                firstName = (string)p.Element("cust-fname"),
                lastName = (string)p.Element("cust-lname"),
                address = (string)p.Element("cust-address1"),
            }).(All elements)??   
}

(Все элементы), где id хотел бы получить всю информацию.Использование FirstOrDefault будет извлекать только первый элемент, а LastOrDefault будет извлекать только первый элемент.Если бы кто-нибудь мог мне помочь, я был бы очень рад.

1 Ответ

0 голосов
/ 01 апреля 2011

вы хотите список клиентов. Измените возвращаемое значение на IEnumerable и преобразовать запрос в IEnumerable с помощью ToList () / ToArray ():

public IEnumerable<custInformation> getcustInfo(string file) {      
    //Load the xml file
    var xe = XDocument.Load(_server.MapPath(file)).Root;

    //Get information
    return (from p in xe.Descendants("cust-account").Descendants("cust-info")
            select new custInformation
            {
                firstName = (string)p.Element("cust-fname"),
                lastName = (string)p.Element("cust-lname"),
                address = (string)p.Element("cust-address1"),
            }).ToList();
}
...