Ho bisogno di raggruppare il valore "Document" da XML. Il problema è perché il valore chiave (productType) può essere multiplo.Come raggruppare i dati XML in base al valore multiplo
Si tratta di 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>
e questo è quello che cerco:
var documents = from document in some.Descendants("Document")
group document by (string)document
.Element("productTypes")
.Elements("productType")
.First() into docGroup
select docGroup;
Il mio codice funziona solo se v'è un elemento di prodotto. Come cambiare il mio codice per funzionare se c'è più valore di productType?
Is documento (1) è un gruppo diverso, o dovrebbe andare nei gruppi di Documento (2) e documento (3) allo stesso tempo? Puoi mostrare il tuo output atteso? –
Ci saranno tre gruppi: 1) il documento (1) e il documento (2) saranno sotto la chiave "Capital Costs Analysis Forum - Brasile" 2) il documento (1) e il documento (3) saranno sotto la chiave " Ambiente, salute e sicurezza & Sostenibilità " 3) il documento (4) sarà sotto la chiave" Difesa, Rischio & Sicurezza " Il mio problema è il caso 2. Grazie per la risposta. – drazen