xmldoc nodos leer xml delphi

nodos - Bibliotecas y tutoriales para XML en Delphi



delphi xmldoc (6)

Estoy planeando agregar soporte XML a la aplicación, pero no estoy familiarizado con la programación XML en Delphi. Básicamente, necesito crear objetos basados ​​en nodos XML y generar archivos XML basados ​​en objetos.

¿Qué biblioteca de componentes XML debería usar? ¿Hay buenos tutoriales para XML con Delphi?


Puede comenzar mirando el componente TXMLDocument de Delphi. Esto le proporcionará los conceptos básicos de trabajo con XML / DOM. Es simple y puede agregarse colocándolo en su Formulario. Tiene los métodos LoadFromFile y SaveToFile y se navega fácilmente.

Sin embargo, en algún momento agotarás las características de TXMLDocument, especialmente si quieres trabajar con cosas como XPath.

Sugiero que mires IXMLDOMDocument2 que es parte de MSXML2_TLB, por ejemplo

XML := CreateOleObject(''MSXML2.DOMDocument.3.0'') as IXMLDOMDocument2; XML.async := false; XML.SetProperty(''SelectionLanguage'',''XPath'');

Deberá agregar msxmldom, xmldom, XMLIntf, XMLDoc y MSXML2_TLB a su sección de usos.

Hay algunas bibliotecas de componentes por ahí pero sugeriría escribir su propia clase o funciones de ayuda. Aquí hay un ejemplo de uno que escribimos y usamos:

function XMLCreateRoot(var xml: IXMLDOMDocument2; RootName: string; xsl: string = ''''; encoding: string = ''ISO-8859-1''; language: string = ''XPath''): IXMLDOMNode; var NewPI: IXMLDOMProcessingInstruction; begin if language<>'''' then xml.SetProperty(''SelectionLanguage'',''XPath''); if encoding<>'''' then begin NewPI:=xml.createProcessingInstruction(''xml'', ''version="1.0" encoding="''+encoding+''"''); xml.appendChild(NewPI); end; if xsl<>'''' then begin NewPI:=xml.createProcessingInstruction(''xml-stylesheet'',''type="text/xsl" href="''+xsl+''"''); xml.appendChild(NewPI) end; xml.async := false; xml.documentElement:=xml.createElement(RootName); Result:=xml.documentElement; end;

Tomar desde allí.


Puede utilizar la vinculación de datos XML de Delphi (Archivo - Nuevo - Otro - Mapeo XML (no sé exactamente la ruta, estoy en mi casa sin Delphi)).

Crea objetos / interfaces sobre proveedores de XML para que pueda trabajar con objetos / estructuras en lugar de archivos de texto xml.

No tiene que esforzarse al leer y escribir cada Elemento XML; solo está trabajando con colecciones de objetos y sus propiedades.


Puedes probar el siguiente libro: Delphi Developers Guide to XML

Básicamente, te recomendaría que uses DOM de Microsoft. Tendrá que importar la biblioteca como con cualquier otro objeto COM.


He estado trabajando con nativeXML desde hace aproximadamente un año. Mis necesidades son bastante simples. La fluidez XML es una pequeña parte de una aplicación más grande para mí, pero he podido implementar las piezas que necesito casi tan rápido como puedo codificarlas, la ayuda en línea es buena y mis necesidades se cumplieron en un día en lugar de una semana. o más largo. El segundo voto de davehay para nativeXML.



Yo uso nativeXML desde simdesign. Si no trabajas con XML, estarás listo y funcionando en minutos.