6
Necesito agrupar el valor de "Documento" de XML. El problema se debe a que el valor clave (productType) puede ser múltiple.Cómo agrupar datos XML por valor múltiple
Esta es 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>
Y esto es lo que trato:
var documents = from document in some.Descendants("Document")
group document by (string)document
.Element("productTypes")
.Elements("productType")
.First() into docGroup
select docGroup;
Mi código está trabajando sólo si hay un elemento ProductType. ¿Cómo puedo cambiar mi código para que funcione si hay varios valores de productType?
es el documento (1) es un grupo diferente, o debería entrar en los grupos del Documento (2) y el documento (3) al mismo tiempo? ¿Puedes mostrar tu salida esperada? –
Habrá tres grupos: 1) el documento (1) y el documento (2) estarán bajo la clave "Capital Costs Analysis Forum - Brazil" 2) el documento (1) y el documento (3) estarán debajo de la clave " Medio ambiente, salud y seguridad & Sostenibilidad " 3) el documento (4) estará debajo de la clave" Defensa, riesgo & Seguridad " Mi problema es el caso 2. Gracias por su respuesta. – drazen