Pregunta

Sé que esto es una pregunta abierta vaga. Tengo la esperanza de conseguir un poco de dirección general.

Tengo que añadir cXML punchouts a un ASP.NET C # sitio / aplicación. Esto está reemplazando algo que escribí hace años en ColdFusion.

yo soy un desarrollador de C # razonablemente experimentado, pero no he hecho mucho con XML. Parece que hay un montón de diferentes opciones para el procesamiento de XML en .NET.

Aquí está la pregunta abierta: Suponiendo que tengo un documento XML en alguna forma, por ejemplo, un archivo o una cadena, ¿cuál es la mejor manera de leer en mi código? Quiero obtener los datos y luego el tamaño del documento de consulta de bases de datos, etc. El cXML y nuestros volúmenes de tráfico son fácilmente lo suficientemente pequeño como para que carga un documento cXML en la memoria no es un problema.

¿Debo:

1) de forma manual clases de construcción basado en el DTD y utilizar el código XML Serializador?

2) Utilizar una herramienta para generar clases. Hay archivos de muestra cXML descargables desde Ariba.com. Probé xsd.exe para generar un XSD y luego xsd.exe / c para generar clases. Cuando trato de deserializar recibo errores, porque parece que hay "confusión" en torno a si algunos elementos deben ser valores individuales o matrices.

Me trató la herramienta en línea CodeXS pero que da errores en ella de registro y errores si trato de deserializar un documento de muestra.

2) Crear un conjunto de datos y ReadXml ()?

3) Crear un conjunto de datos con tipo y ReadXml ()?

4) Uso de LINQ to XML. A menudo uso de LINQ a objetos, así que estoy familiarizado con LINQ en general, pero estoy luchando para ver que es lo que me da en esta situación.

5) algunos otros medios.

Me parece que necesito para mejorar mi comprensión de XML en general, pero aún así ... me estoy perdiendo de alguna manera obvia de hacer esto? En el sitio ColdFusion de edad me encontré con un componente libre ( "etiqueta") que básicamente ignoró cualquier esquema y leer el XML en una "estructura", que es esencialmente una serie de tablas de resumen anidadas que era entonces fácil de leer en el código. Eso fue probablemente bastante descuidado pero funcionó.

También necesita generar archivos XML de mis objetos de C #. Tal vez LINQ to XML será bueno para eso. Podría empezar con un documento predeterminado "plantilla" y manipularlo antes de guardar.

Gracias por cualquier punteros ...

¿Fue útil?

Solución

Si es necesario generar XML arbitraria en un formato exacto, se debe generar manualmente utilizando LINQ to XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top