6
Muszę zgrupować wartość "Dokumentu" z XML. Problem polega na tym, że wartość klucza (productType) może być wielokrotnością.Jak grupować dane XML według wielu wartości
To XML:
<Documents>
<Document>
<id>1</id>
<title>title1</title>
<productTypes>
<productType id="x1">Capital Costs Analysis Forum - Brazil</productType>
<productType id="x3">Environmental, Health and Safety & Sustainability</productType>
</productTypes>
</Document>
<Document>
<id>2</id>
<title>title2</title>
<productTypes>
<productType id="x1">Capital Costs Analysis Forum - Brazil</productType>
</productTypes>
</Document>
<Document>
<id>3</id>
<title>title3</title>
<productTypes>
<productType id="x3">Environmental, Health and Safety & Sustainability</productType>
</productTypes>
</Document>
<Document>
<id>4</id>
<title>title4</title>
<productTypes>
<productType id="x2">Defense, Risk & Security</productType>
</productTypes>
</Document>
I to właśnie staram:
var documents = from document in some.Descendants("Document")
group document by (string)document
.Element("productTypes")
.Elements("productType")
.First() into docGroup
select docGroup;
mój kod działa tylko wtedy, gdy istnieje jeden element Producttype. Jak zmienić mój kod, aby działał, jeśli istnieje wiele wartości productType?
Czy dokument (1) jest inną grupą, czy też powinna należeć do grup dokumentów (2) i dokumentów (3) w tym samym czasie? Czy możesz pokazać swoje oczekiwane wyniki? –
Będą trzy grupy: 1) dokument (1) i dokument (2) będą pod kluczem "Analiza kosztów kapitałowych Forum - Brazylia" 2) dokument (1) i dokument (3) będą pod kluczem " Ochrona środowiska, zdrowie i bezpieczeństwo & Zrównoważony rozwój " 3) dokument (4) będzie pod kluczem" Obrona, ryzyko & Bezpieczeństwo " Mój problem dotyczy przypadku 2. Dziękujemy za odpowiedź. – drazen