Как преобразовать результат запроса Linq в XML? - PullRequest
7 голосов
/ 10 августа 2009

Новичок на арене Linq to XML ...

У меня есть запрос Linq с результатами, и я хотел бы преобразовать эти результаты в XML. Я предполагаю, что должен быть относительно простой способ сделать это, но я не могу найти это ...

Спасибо!

Ответы [ 3 ]

9 голосов
/ 10 августа 2009

Пример. Вы должны получить идею.

XElement xml = new XElement("companies",
            from company in db.CustomerCompanies
            orderby company.CompanyName
            select new XElement("company",
                new XAttribute("CompanyId", company.CompanyId),
                new XElement("CompanyName", company.CompanyName),
                new XElement("SapNumber", company.SapNumber),
                new XElement("RootCompanyId", company.RootCompanyId),
                new XElement("ParentCompanyId", company.ParentCompanyId)
                )
            );
1 голос
/ 13 сентября 2011

Приведенный ниже код будет работать для "linq to entity". Данные должны находиться в памяти, сделанной с помощью .ToArray (), для того, чтобы с ними можно было работать, если говорить проще.

XElement xml = new XElement("companies",
        from company in db.CustomerCompanies.AsEnumerable()
        orderby company.CompanyName
        select new XElement("company",
            new XAttribute("CompanyId", company.CompanyId),
            new XElement("CompanyName", company.CompanyName),
            new XElement("SapNumber", company.SapNumber),
            new XElement("RootCompanyId", company.RootCompanyId),
            new XElement("ParentCompanyId", company.ParentCompanyId)
            )
        );
1 голос
/ 10 августа 2009

Ваш запрос Linq вернет какой-то граф объектов; Получив результаты, вы можете использовать любой метод для его перевода в XML, что вы можете сделать со стандартными объектами. Linq to XML включает новые классы XML, которые представляют один из способов создания XML (см. Ответ rAyt за это), но вы также можете использовать XmlSerializer и помещать атрибуты в ваш класс / свойства для управления точным выводом XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...