Hola!!
Tengo dos XML´s muy pesados, con la misma estructura. Los dos vienen de fuentes distintas. Lo que necesito hacer son dos procesos distintos:
1. Eliminar repetidos
Tengo dos XML's en donde uno es el Principal.xml y otro Secundario.xml, y de la mezcla de estos dos voy a crear un Resultado.xml
la estructura de Principal.xml y Secundario.xml es igual:
Ejemplo:
<ROOT>
<Results>
<Result ID=1>
<ID>1234</ID>
<Datos>este es mi dato 1<Datos>
</Result>
<Result ID=2>
<ID>1235</ID>
<Datos>este es mi dato 2<Datos>
</Result>
<Result ID=3>
<ID>1236</ID>
<Datos>este es mi dato 3<Datos>
</Result>
<Results>
</ROOT>
En Resultado.xml voy a incluir todos los <Result> de Principal.xml primero y de Secundario.xml solo voy a incluir aquellos <Result> que no estén, basandome en el nodo <ID>, es decir, de secundario no voy a incluir los id's que ya estén en primario.
2. Reemplazar repetidos
Tengo dos XML's en donde uno es el Principal.xml y otro Secundario.xml, y de la mezcla de estos dos voy a crear un Resultado.xml
la estructura de Principal.xml y Secundario.xml es igual:
Ejemplo:
<ROOT>
<Results>
<Result ID=1>
<ID>1234</ID>
<Datos>este es mi dato 1<Datos>
</Result>
<Result ID=2>
<ID>1235</ID>
<Datos>este es mi dato 2<Datos>
</Result>
<Result ID=3>
<ID>1236</ID>
<Datos>este es mi dato 3<Datos>
</Result>
<Results>
</ROOT>
En Resultado.xml voy a incluir todos los <Result>'s Primario.xml primero, pero si veo que en Primario.xml hay un ID que está en Secundario.xml, entonces sustituyo ese <Result> de Primario.xml con el <Result> de Secundario.xml y ya hasta el final agrego los Results de Secundario cuyos Id's no estuvieron en Primario
Espero haberme explicado.
No se si esto se pueda hacer facilmente con LINQ. Ambos XML's son muy pesados y no se si haya manera de que con LINQ no fuera tan tardado hacer esto.
Agradezco mucho la ayuda que me puedan dar.
Saludos!