Quiero comparar 2 archivos XML.cómo comparar 2 XML usando LINQ en C#
Mi xml1 es:
<ROOT><NODE><BOOK><ID>1234</ID><NAME isbn="dafdfad">Numbers: Language of Science</NAME><AUTHOR>Tobias Dantzig</AUTHOR></BOOK></NODE></ROOT>
tengo otra XML a partir de la base de datos que es
<Book xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Id>12345</Id><Name isbn="31231223">Numbers: Language of Science</Name><Author>Tobias Dantzig</Author></Book>
quiero comparar el nodo "libro" de XML1 y el nodo "libro" de XML DB
- Tengo un espacio de nombre en el XML que se obtiene de la base de datos
- Los nombres de los nodos están en los casos mixtos
quiero comparar estos nodo de archivos 2 XML por el nodo de texto y atributos de valor
estoy usando C# y quería saber si esto es posible usando LINQ
Cualquier ayuda sería muy apreciada
PS Busqué publicaciones similares, pero no pude encontrar lo que estoy buscando exactamente. mucho por adelantado
Saludos, Karthik
Supongamos que los compara ¿cuál es el resultado de la comparación? –
Lo que quiero tener es que, si los valores son diferentes, entonces quiero almacenarlos en un atributo en xml1. Ej: si el valor de ID es diferente, después de la comparación quiero almacenar como 1234 –
KK99
+1, el problema * general * es interesante es un problema interesante. Sin embargo, no creo que sea una buena aplicación para LINQ. Las herramientas que se me ocurren son 'IEnumerable .Except', que solo será útil para generar nodos que faltan en una/la otra colección. También deberá escribir una comparación personalizada (no estoy seguro de si 'Except' lo admite), y un acoplador de árbol. Los resultados no estarán en un árbol, por lo que puede que tenga que hacer un poco de magia del diccionario para volver a obtener los resultados de sus diferencias en un árbol.¿Te importa si tienes una solución general? –