J'écris un prgm qui via ADO datacontext, j'exécute une requête sur la base de données qui utilise une classe de groupe et retourne un document xml. Je suis en mesure d'obtenir le code XML au travail, mais le XAttribute("pub_id", from p in g select new { p.Pubs_id })
donne:ADO Linq à xml
System.Linq.Enumerable+WhereSelectEnumerableIterator`2[Pubs.BookStore+BookResults,<>f__AnonymousType1`1[System.String]]
ci-dessous est le code:
XDocument xdoc = new XDocument(new XElement("reports",
from b in bookResults
group b by b.Title1 into g
select new XElement("book",
new XAttribute("pub_id", from p in g select new { p.Pubs_id }),
new XElement("Title", g.Key),
from bk in g
select new XElement("Name", new XAttribute("au_id", bk.Au_id), bk.Name))
)
xdoc.Save("Books.xml");
sortie
échantillon xml souhaité (en utilisant échantillon pubs db)
<reports>
<book pub_id="1389">
<Title>The Busy Executive's Database Guide</Title>
<Name au_id="409-56-7008">Bennet,Abraham</Name>
<Name au_id="213-46-8915">Green,Marjorie</Name>
</book>
<book pub_id="0877">
<Title>Fifty Years in Buckingham Palace Kitchens</Title>
<Name au_id="648-92-1872">Blotchet-Halls,Reginald</Name>
</book>
<book pub_id="0877">
<Title>The Gourmet Microwave</Title>
<Name au_id="722-51-5454">DeFrance,Michel</Name>
<Name au_id="899-46-2035">Ringer,Anne</Name>
</book>
ce que vous avez dit m'a fait penser, il semble que j'ai besoin pub_id dans le cadre de la clé, je l'ai fait ce qui suit, et cela a fonctionné – SKatz
groupe b par les nouvelles {b.Title1, b.Pubs_id} en g – SKatz
thnks pour votre aide – SKatz