hogar - Recuperación
Ejemplo de lectura xml 1c. Generando el archivo XML

La transferencia de datos es un proceso muy importante en cualquier sistema contable, la plataforma 1C 8.3 y 8.2 no es una excepción. A continuación veremos instrucciones sobre la forma más sencilla de transferir datos de un sistema a otro que tenga una configuración similar (para diferentes configuraciones, puede utilizar una herramienta para programadores, o).

Antes de que sea necesaria cualquier acción, ¡los cambios son irreversibles!

La forma más fácil y conveniente de transferir datos de 1C 8.3 a 1C 8.3 Accounting 3.0 es utilizar el procesamiento Cargar y cargar datos en formato XML (descargar - para 8.2 o para 1C 8.3 o en ITS). El tratamiento es universal y apto para cualquier configuración.

No entraremos en detalles; veamos instrucciones paso a paso para migrar datos utilizando este procesamiento usando el ejemplo de la transferencia de bienes más simple.

Subir datos a XML

En primer lugar, abramos el procesamiento en la base de datos de origen (desde donde descargaremos los productos) y observemos la interfaz:

Obtenga 267 lecciones en video sobre 1C gratis:

Debe completar inmediatamente el campo "Nombre de archivo"; se creará un nuevo archivo de datos a lo largo de esta ruta, que cargaremos en la base de datos del receptor. Justo debajo, en la sección tabular “Datos para cargar”, debemos seleccionar los datos que queremos cargar de la base de datos.

Después de seleccionar un objeto de la parte izquierda de la tabla, puede aplicar la selección en la parte derecha de la tabla:


En nuestro ejemplo, quiero descargar todos los productos con el nombre "Rake".

Una vez que se hayan completado todas las configuraciones, se pueden cargar los datos. Para ello haga clic en el botón “Subir datos”:


Cargando datos de xml en 1s 8.3

Los datos se han descargado de la base de datos de origen; ahora es necesario transferirlos a la base de datos de destino.

Para hacer esto, debe comenzar a procesar ya en la base de datos en la que necesita cargar los datos, ir a la pestaña "Descargar", seleccionar el archivo descargado en el disco y hacer clic en el botón "Cargar datos":


Este ejemplo solo es adecuado para transferir datos entre configuraciones idénticas en la plataforma 1C. Para comprender el mecanismo de intercambio para programadores, escribimos un artículo -.

Transferir información entre bases de datos es una de las tareas de su soporte y administración. Para su implementación efectiva, el procesamiento se crea en complejos 1C automatizados. Facilitan enormemente el trabajo rutinario, aceleran los procesos de carga y descarga de información y al mismo tiempo implementan el control sobre su exactitud. Cargar desde 1c a xml le permite crear un archivo con el contenido de cualquier objeto de configuración configurado y usarlo cuando necesite cargar datos en una configuración idéntica.

Herramientas para crear cargas

Para exportar información contenida en bases de datos se utiliza principalmente el formato xml. Para 1C, se han desarrollado muchos métodos de procesamiento (por ejemplo, UploadLoadDataxml82 ePF), con la ayuda de los cuales es posible generar y cargar datos en un archivo. En este caso, el usuario debe recibir un archivo de cierta estructura, que permita cargar la información almacenada en él en la base de datos nativa o transferirla a otra ubicación. Al crear una carga, se deben observar las siguientes reglas:

  • Guardar los archivos creados hasta su completa recuperación y finalización de los procedimientos para verificar la exactitud de la información transferida;
  • Si utiliza el procesamiento como herramienta de respaldo, cree subcarpetas separadas para las copias de datos y mantenga un registro de ellas para una recuperación rápida.

El procesamiento universal "Carga y carga de datos XML" suministrado en el programa de soporte al usuario de 1C, que se puede encontrar en el sitio web o en los discos ITS, es una excelente herramienta para exportar e importar información. Un usuario de computadora puede cargar tanto la base de datos completa como sus objetos individuales y, además de la exportación en sí, se realizan varias operaciones para verificar la información que ayudan a eliminar errores críticos en los datos. El procesamiento de la carga de 1c a xml funciona en dos modos:

  • Descarga. Crea un archivo que contiene objetos paginables definidos por el usuario;
  • Cargando. Lee un archivo previamente exportado y escribe la información contenida en él en la base de información.

El procesamiento le permite verificar objetos en busca de caracteres no válidos y también incluye una función para exportar información con restricciones.

La carga se puede utilizar no solo al intercambiar información entre bases de datos 1C. Con su ayuda, puede garantizar la integración de varios complejos, por ejemplo, 1C y el sistema Parus. La versatilidad del formato XML le permite crear programas para transferir información para casi cualquier banco de información. Procesar, cargar y descargar datos xml es la herramienta más importante para intercambiar información.

El proceso de carga de datos aXML

Veamos cómo cargar de 1c a xml en modo normal. Luego de descargar el procesamiento UploadLoadDataxml.epf y abrirlo, debes realizar los siguientes pasos:

  • Seleccionar objetos para exportar;
  • Configure los filtros necesarios, por ejemplo, por período;
  • Determinar la ubicación del archivo con información sobre el subsistema del disco;
  • Comience a descargar objetos.


Debe recordarse que la parte del encabezado del formato del archivo cargado difiere del formato de archivo utilizado al cargar según los planes de intercambio.

XML

El xml se carga en 1c en la base de datos receptora con una configuración idéntica a la base de datos de origen. Antes de cargar xml 1c en 1c, debe abrir el procesamiento en la base de datos receptora. Luego debe especificar la ruta al archivo cargado anteriormente y descargar los datos haciendo clic en el botón "Cargar datos".

Si es necesario, se activan casillas de verificación para cargar datos en modo de intercambio en una base de datos distribuida e ignorar los errores que ocurren al cargar objetos.


Después de esto, debe verificar las bases de datos y asegurarse de que todos los elementos estén cargados correctamente para no perderlos, por ejemplo, si ocurre un error en el controlador de eventos después de cargar un objeto.


Este procesamiento le permite intercambiar datos entre las mismas configuraciones (idénticas) en la plataforma 1C 8.2: Bukh, ZUP, UT, UPP y otras, ¡lo principal es que las configuraciones son las mismas!

Procesando capturas de pantalla

(fotografía)

Modos de funcionamiento

El procesamiento implementa 2 modos de operación: Cargar (crear un archivo de carga de datos especificados por el usuario) y Cargar (leer un archivo de carga creado por el modo del mismo nombre y escribir los datos contenidos en él). El modo se establece seleccionándolo en el campo Modo.

Antes de iniciar un modo en particular (haciendo clic en el botón Ejecutar), debe especificar el nombre del archivo cargado, ya sea ingresándolo manualmente en el campo "Nombre de archivo" o usando el botón para seleccionar este campo y el cuadro de diálogo de selección de archivo estándar. .

En el modo de descarga, es posible editar el uso de totales al escribir registros, lo que puede afectar la velocidad de descarga.

Los botones "Deshabilitar totales" y "Habilitar totales" están disponibles cuando el indicador "Habilitar la capacidad de editar el uso de totales durante la carga de datos" está configurado y se usan para controlar manualmente el modo de uso de los totales al cargar datos.

Condiciones para la aplicabilidad del procesamiento.

El procesamiento solo se puede utilizar en los casos en que la base de información en la que se cargaron los datos y aquella en la que se cargaron los datos sean homogéneas (las configuraciones son idénticas, los datos pueden diferir), o todos los objetos cargados son casi completamente idénticos en composición y tipos de detalles y partes de la tabla, propiedades del objeto de metadatos "principal", etc. Cabe señalar que, debido a estas limitaciones, el procesamiento está destinado principalmente al intercambio entre SI homogéneos.

El formato del archivo de carga difiere del formato de archivo creado al cargar de acuerdo con un plan de intercambio en la parte del encabezado. Para cargar datos (elementos de directorio, conjuntos de registros, etc.), el procesamiento utiliza el mismo mecanismo de serialización XML que la carga según planes de intercambio, en esta parte los formatos de archivo son idénticos;

Determinación de la composición de la descarga.

El procesamiento permite cargar total y parcialmente los datos de la base de datos en un archivo. La composición de los datos cargados se configura en el cuadro de diálogo marcando las casillas en la columna del árbol que muestra los objetos de metadatos para los cuales se pueden cargar datos. Una columna adicional de casillas de verificación, "Si es necesario", establece la necesidad de descargar objetos de este tipo "por referencia". Es decir, si la casilla de verificación está marcada solo en la columna "Si es necesario", los datos de dicho objeto no se descargarán por completo, sino solo en la medida necesaria para mantener la integridad referencial en la base de datos que cargará la descarga. archivo.

Al abrir un formulario, el procesamiento establece el signo de descarga por referencia a todos los objetos, lo que garantiza la integridad referencial del fragmento descargado de la base de información.

Cuando hace clic en el botón "Detectar objetos que se descargan por enlace", el procesamiento analiza qué enlaces de datos pueden estar contenidos en objetos que tienen el atributo de descarga completo establecido y completa automáticamente la columna de indicadores que indican la necesidad de descargar por enlace. Si el objeto ya tiene configurado el indicador de descarga completa, entonces el indicador de descarga por referencia no está configurado.

Posibles aplicaciones

El uso de este procesamiento es posible, por ejemplo, para crear una copia de seguridad total o parcial de datos, intercambiar datos entre bases de información y también como herramienta auxiliar al restaurar bases de información problemáticas.

En una organización, la contabilidad se puede llevar no solo en las soluciones de la plataforma 1C:Enterprise, sino también en otros sistemas de software (Galaktika, Parus, SAP, etc.). Esto plantea el desafío de integrar dos aplicaciones.

Por ejemplo, alguna aplicación (llamémosla "X") necesita leer una lista de documentos de configuración. No hablaremos de los beneficios prácticos de resolver un problema de este tipo; solo señalaré que la forma más conveniente y universal en tal situación sería cargar una lista de documentos en formato XML.

Exchange utilizando este formato es universal porque la mayoría de las aplicaciones pueden funcionar con él. Veamos cómo puede cargar una lista de documentos de configuración en un archivo XML desde 1C:Enterprise.

Subir a XML

Y entonces, pasemos a lo principal. Necesitamos recorrer la lista de metadatos del documento y generar la lista en el archivo XML. La siguiente captura de pantalla muestra el algoritmo para generar un archivo XML:

Función CreateXML() Exportar //Obtiene el nombre del archivo temporal Ruta = GetTemporaryFileName(); // Inicializa la clase "Registro XML" Entrada = Nueva entrada XML; //Abre un archivo temporal para escribir - 8 ") ; // Escribir la declaración del archivo XML Registro. EscribirDeclaraciónXML(); // Registro. EscribirElementoInicio(" DocumentosConfiguraciones") ; // Primer elemento // Atributo del primer elemento con la fecha de creación del archivo Registro. WriteAttribute(" generado ", Formato (FechaActual(), " DF = aaaa-MM- ddThh:mm:ss; DLF = DT")) ; // Escribe un elemento para cada documento de configuración. Ponemos el nombre del documento en el texto. Para cada documento de metadatos. Grabación del ciclo de documentos. WriteElementStart("Documento"); Registro. WriteText(Doc.Nombre); Registro. EscribirEndElement(); Fin del ciclo; //Termina de escribir el primer elemento Registro. EscribirEndElement(); Registro. Cerca(); //Cerrar el archivo //Obtiene los datos binarios del archivo y los coloca en un almacenamiento temporal DatosBinarios = nuevos DatosBinarios(Ruta); Dirección = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​; Dirección del remitente; // Devuelve la dirección del archivo al almacenamiento Función final

Cada elemento creado debe completarse correctamente. Después de ejecutar “WriteStartofElement()”, se debe ejecutar el método “WriteEndElement()”, de lo contrario la estructura del archivo XML será incorrecta.

La plantilla general para crear archivos XML es la siguiente secuencia:

// 1. Inicialice la clase "Registro XML" Entrada = Nueva entrada XML; // 2. Abra un archivo temporal para grabar. Registro. OpenFile(Ruta, "UTF-8"); // 3. Escribe la declaración del archivo XML. Registro. EscribirDeclaraciónXML(); // // 4. ++ Escribe el contenido del archivo XML. Registro. WriteElementStart("XMLElement"); Registro. EscribirEndElement(); // -- Escribir el contenido del archivo XML // 5. Cierra el archivo Registro. Cerca();

Estos cinco pasos crean casi cualquier archivo XML.

En nuestro ejemplo, el archivo generado se convierte en datos binarios y se devuelve a la ubicación donde se llama a la función CreateXML. Este archivo luego se puede escribir en el sistema de archivos.

Puede ver un ejemplo del archivo cargado en la captura de pantalla anterior.

Aplicación de terceros

Como ejemplo, creé una aplicación en .NET Framework para demostrar la lectura de un archivo XML en una aplicación de terceros.

El programa lee el archivo creado y muestra los documentos en forma de lista:

Puede probarlo usted mismo, la aplicación está disponible para descargar mediante el enlace al final del artículo.

Versatilidad

El formato XML se utiliza en la mayoría de las configuraciones para el intercambio de datos entre soluciones de aplicaciones en la plataforma 1C:Enterprise. Otro método de comunicación comúnmente utilizado es a través de una conexión COM. XML permite intercambiar con casi cualquier aplicación, por lo que merece ser llamado universal.

Archivos para descargar:

Aplicación de lectura de archivos XML.

Procesando la generación del archivo XML.

Cuando una empresa utiliza constantemente algún tipo de paquete de software en su trabajo, entonces, naturalmente, siempre surge la cuestión de su soporte y administración continuos. No hay forma de evitar las tareas de intercambio, almacenamiento y restauración de datos. Veamos cómo cargar o descargar datos de 1C en formato XML, ya que este es un procedimiento importante para este tema.

Están construidos de tal manera que al cargarlos puede recibir un archivo XML en el que se registrarán los datos necesarios para el cliente. Al mismo tiempo, simultáneamente con la grabación, se controla la exactitud de los registros transferidos para detectar errores críticos.

Así, subir a un archivo XML (importar registros) desde una base de información y posterior carga de XML a otra representa un intercambio de datos en formato XML entre bases de datos.

Este procedimiento, especialmente con grandes cantidades de información, ahorra mucho trabajo manual.

La importación (el archivo resultante) también se puede utilizar como archivo para recuperación en situaciones inesperadas (si se pierde o se daña).

Se han desarrollado muchas herramientas de procesamiento de este tipo y están disponibles en Internet. La responsabilidad de su uso recae sobre los hombros (y la cabeza) del cliente.

Pero para los usuarios oficiales de Odeneski, los desarrolladores han creado un procesador universal "Cargar/Cargar datos XML".

IMPORTANTE. Exportar a XML en 1C y cargarlo posteriormente a XML desde 1C es aceptable para configuraciones idénticas; de lo contrario, se dañará.

Manipulador universal

Puntos clave para utilizar el desarrollador universal:

  • Guarde los archivos importados hasta que se complete la transferencia de registros y se verifique su exactitud;
  • Cuando se utilicen como copias de seguridad, se deberá llevar un registro de las mismas para ordenar la búsqueda.

Su funcionamiento tiene dos modos: crear un archivo al guardar información y leerlo/escribirlo al importar.

Además, el usuario puede establecer restricciones adicionales tanto al exportar como al cargar datos.

Extrayendo registros

Puede cargar datos tanto en toda la base de datos como de forma selectiva, objeto por objeto.

Después de descargar, instalar y abrir el controlador, ocurre lo siguiente:

Su selección se realiza en el cuadro de diálogo que se abre después del lanzamiento. Para hacer esto, marque las casillas en la lista que muestra los objetos de metadatos que se recuperarán;

  1. Se configuran los filtros necesarios (por ejemplo, por fecha);
  2. Se selecciona espacio en disco;
  3. Comienza la operación en sí.

Subir registros al receptor

El primer paso para aceptar datos en la base de datos receptora es abrir el programa del procesador en ella.

Una vez que se haya especificado la ruta al archivo fuente y se hayan activado los indicadores de configuración del procedimiento (si es necesario), puede iniciar el proceso con el botón "Cargar datos".


Ahora sabe cómo cargar o descargar datos de 1C en formato XML para guardar datos e intercambiarlos entre bases de datos.

Escribe en los comentarios sobre tu experiencia en este asunto.

2018-11-15T19:32:35+00:00

El procesamiento universal "Carga y carga de datos XML" realiza la descarga total o parcial de los datos de la base de datos en un archivo en formato XML. Posteriormente, este archivo se puede cargar en la base de datos utilizando el mismo procesamiento. El formato del archivo de carga difiere del formato de archivo creado al cargar de acuerdo con un plan de intercambio en la parte del encabezado.

El procesamiento solo se puede utilizar en los casos en que la base de información en la que se cargaron los datos y aquella en la que se cargaron los datos sean homogéneas (las configuraciones son idénticas, los datos pueden diferir), o todos los objetos cargados son casi completamente idénticos en composición y tipos de detalles y partes de la tabla, propiedades del objeto de metadatos "principal", etc.

El uso de este procesamiento es posible, por ejemplo, para crear una copia de seguridad total o parcial de los datos, intercambiar datos entre bases de datos y también como herramienta auxiliar al restaurar bases de datos defectuosas.

El procesamiento admite la carga de datos con la capacidad de especificar la selección por período. También se implementa la verificación de objetos para detectar la presencia de caracteres no válidos cuando se intercambian a través de XML.

Atentamente, (maestro y desarrollador).

En una organización, la contabilidad se puede llevar no solo en las soluciones de la plataforma 1C:Enterprise, sino también en otros sistemas de software (Galaktika, Parus, SAP, etc.). Esto plantea el desafío de integrar dos aplicaciones.

Por ejemplo, alguna aplicación (llamémosla "X") necesita leer una lista de documentos de configuración. No hablaremos de los beneficios prácticos de resolver un problema de este tipo; solo señalaré que la forma más conveniente y universal en tal situación sería cargar una lista de documentos en formato XML.

Exchange utilizando este formato es universal porque la mayoría de las aplicaciones pueden funcionar con él. Veamos cómo puede cargar una lista de documentos de configuración en un archivo XML desde 1C:Enterprise.

Subir a XML

Y entonces, pasemos a lo principal. Necesitamos recorrer la lista de metadatos del documento y generar la lista en el archivo XML. La siguiente captura de pantalla muestra el algoritmo para generar un archivo XML:

Función CreateXML() Exportar //Obtiene el nombre del archivo temporal Ruta = GetTemporaryFileName(); // Inicializa la clase "Registro XML" Entrada = Nueva entrada XML; //Abre un archivo temporal para escribir- 8 " ) ; // Escribir la declaración del archivo XML Registro. EscribirDeclaraciónXML(); // Registro. EscribirElementoInicio(" DocumentosConfiguraciones" ) ; // Primer elemento // Atributo del primer elemento con la fecha de creación del archivo Registro. WriteAttribute(" generado ", Formato (FechaActual(), " DF = aaaa-MM- ddThh:mm:ss; DLF = DT" ) ) ; // Escribe un elemento para cada documento de configuración. Ponemos el nombre del documento en el texto. Para cada documento de metadatos. Grabación del ciclo de documentos. WriteElementStart("Documento"); Registro. WriteText(Doc.Nombre); Registro. EscribirEndElement(); FinCiclo; //Termina de escribir el primer elemento Registro. EscribirEndElement(); Registro. Cerca(); //Cerrar el archivo //Obtiene los datos binarios del archivo y los coloca en un almacenamiento temporal DatosBinarios = nuevos DatosBinarios(Ruta); Dirección = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​; Dirección del remitente; // Devuelve la dirección del archivo al almacenamiento Función final

Cada elemento creado debe completarse correctamente. Después de ejecutar “WriteStartofElement()”, se debe ejecutar el método “WriteEndElement()”, de lo contrario la estructura del archivo XML será incorrecta.

La plantilla general para crear archivos XML es la siguiente secuencia:

// 1. Inicialice la clase "Registro XML" Entrada = Nueva entrada XML; // 2. Abra un archivo temporal para grabar. Registro. OpenFile(Ruta, "UTF - 8 " ) ; // 3. Escribe la declaración del archivo XML. Registro. EscribirDeclaraciónXML(); // // 4. ++ Escribe el contenido del archivo XML. Registro. WriteElementStart("XMLElement"); Registro. EscribirEndElement(); // -- Escribir el contenido del archivo XML // 5. Cierra el archivo Registro. Cerca();

Estos cinco pasos crean casi cualquier archivo XML.

En nuestro ejemplo, el archivo generado se convierte en datos binarios y se devuelve a la ubicación donde se llama a la función CreateXML. Este archivo luego se puede escribir en el sistema de archivos.

Puede ver un ejemplo del archivo cargado en la captura de pantalla anterior.

Aplicación de terceros

Como ejemplo, creé una aplicación en .NET Framework para demostrar la lectura de un archivo XML en una aplicación de terceros.

El programa lee el archivo creado y muestra los documentos en forma de lista:

Puede probarlo usted mismo, la aplicación está disponible para descargar mediante el enlace al final del artículo.

Versatilidad

El formato XML se utiliza en la mayoría de las configuraciones para el intercambio de datos entre soluciones de aplicaciones en la plataforma 1C:Enterprise. Otro método de comunicación comúnmente utilizado es a través de una conexión COM. XML permite intercambiar con casi cualquier aplicación, por lo que merece ser llamado universal.

Archivos para descargar:

Aplicación de lectura de archivos XML.

Procesando la generación del archivo XML.

¿Cómo cargar datos descargados del comercio o salario en 1C: Contabilidad 8.3 (revisión 3.0)?

2016-12-01T12:52:06+00:00

Muy a menudo, los datos del comercio o de la nómina se transfieren a la contabilidad.

Los datos descargados son un archivo con la extensión " .xml". ¿Cómo cargarlo en el programa?

  1. Empecemos con creando una copia de seguridad departamento de contabilidad, de modo que si la descarga estropea la base de datos, podamos volver a su estado original. Está escrito sobre la creación de copias de seguridad.
  2. Ahora abre el menú " Todas las funciones" (sobre eso ).
  3. En la ventana que se abre, busque el elemento " Tratos" y ábrelo con un signo más.
  4. Encontramos y abrimos entre sus artículos el procesamiento " Intercambio universal de datos en formato XML".
  5. ".
  6. indicamos la ruta al archivo desde donde cargaremos datos.
  7. Presiona el botón " Descargar datos".

Si todo salió bien, ¡genial! Si hay errores, entonces probablemente la razón sea que se utilizaron reglas inapropiadas (obsoletas) para la descarga del comercio o el salario; es necesario actualizarlas y volver a descargarlas.

Atentamente, (maestro y desarrollador).

- páginas web conocidas, que también son análogas a XML con comprobaciones débiles.

XML Reader/Writer Objects, FastInfoset y HTML amplían las capacidades de lectura de archivos de texto con procesamiento integrado de etiquetas de marcado.

También se utilizan para objetos DOMBuilder/DOMRecord (ver más abajo) como fuentes de datos.

Los archivos XML 1C contienen información de texto, es decir, son archivos de texto. Los objetos 1C XML Reader y 1C Write XML son un "complemento" que facilita el trabajo con etiquetas XML en un archivo 1C.

Los objetos ReadingFastInfoset 1C y WritingFastInfoset 1C, ReadingHTML 1C y WritingHTML 1C son completamente similares a ReadingXML 1C y WritingXML 1C y sirven para trabajar de la misma forma con otros formatos.

Archivo XML 1C utilizado en los ejemplos.

Directorio>

Directorio>

Valor del textoProps>
Directorio>
Configuración>

Ejemplo 1. Leer un archivo XML 1C en un árbol de valores usando Reading XML 1C

//abre el archivo XML 1C para leerlo usando ReadingXML 1C
Archivo = Nuevo ReadXML();
File.OpenFile("D:\ConfigurationStructure.xml");

//preparar el árbol de valores
//cada rama XML puede tener un nombre, atributos y valor
dzXML = NewValueTree();
dzXML.Columns.Add("Nombre");
dzXML.Columns.Add("Valor");
dzXML.Columns.Add("Atributos");

//como una cadena XML puede tener varios atributos, los escribiremos en la tabla de valores
//cada atributo tiene un nombre y un valor
tAtributos = Nueva tabla de valores();
tAttributes.Columns.Add("Nombre");
tAttributes.Columns.Add("Valor");

//el nivel de anidamiento nos ayudará a comprender cuándo necesitamos agregar una rama anidada y cuándo necesitamos volver a subir un nivel
Nivel de anidamiento = 0;
//la línea actual es una línea de árboles, cambiará a medida que aumente el anidamiento
FilaActual = Indefinido;
// la lectura del archivo XML 1C no se realiza línea por línea, pero según la estructura cuando finaliza el archivo, la lectura devolverá FALSO;
Mientras que el bucle File.Read()

//nos interesan tres tipos de nodos: el principio del elemento, el texto (el valor del elemento) y el final del elemento (para volver al nivel superior)
Si File.NodeType = XMLNodeType.ElementStart Entonces

Nivel de anidamiento = Nivel de anidamiento + 1;

//si esta es la primera línea, agrégala en la parte superior del árbol y guarda solo el nombre
Si CurrentRow = Indefinido Entonces
CurrentRow = dXML.Rows.Add();
LíneaActual.Nombre = Archivo.Nombre;
Continuar;
De lo contrario
//líneas anidadas
CurrentRow = CurrentRow.Rows.Add();
LíneaActual.Nombre = Archivo.Nombre; //guarda el nombre

//¿Este elemento XML tiene atributos?
Si File.NumberAttributes() > 0 Entonces
//en caso afirmativo, copie la tabla vacía preparada para guardar los atributos
tAttributesNode = tAttributes.Copy();
//recorre el número de atributos de este elemento
Para cuenta = 0 por archivo. Número de atributos()-1 ciclo
//para cada atributo, recuerda el nombre y el valor
Fila = tNodeAttributes.Add();
Línea.Nombre = Archivo.NombreAtributo(Sch);
Fila.Value = Archivo.AttributeValue(Ac);
Fin del ciclo;
//guarda la tabla de atributos del elemento en la línea actual
CurrentRow.Attributes = tNodeAttributes;
terminara si;
terminara si;

ElseIf File.NodeType = XMLNodeType.EndElement Entonces
//al principio del elemento aumentamos el nivel de anidamiento, al final del elemento lo disminuyemos
Nivel de anidamiento = Nivel de anidamiento - 1;
//devuelve la línea actual un nivel más arriba
FilaActual = FilaActual.Parent;

ElseIf File.NodeType = XMLNodeType.Text Entonces
//si el elemento tiene un valor, simplemente guárdelo
CurrentRow.Value = Archivo.Value;

terminara si;

Fin del ciclo;

Archivo.Cerrar();

Ejemplo 2. Grabar un archivo XML 1C utilizando el objeto XML Record 1C

//crea un archivo Registro XML 1C
Archivo = NewXMLRecord();
File.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Configuración");

//usa metadatos para recorrer todos los directorios (para más detalles, consulta "Trabajar con metadatos")
Para cada directorio del ciclo Metadata.Directories

//WriteStartofElement - abre una nueva rama [subordinada]
File.WriteElementStart("Directorio");
//WriteAttribute: escribe un atributo en una rama abierta previamente
File.WriteAttribute("Nombre", Directorio.Nombre);
File.WriteAttribute("Sinónimo", Directorio.Sinónimo);

//usando metadatos revisamos todos los detalles del directorio
Para cada accesorio del ciclo Directory.Props




Fin del ciclo;

//usa metadatos para recorrer todas las partes tabulares del directorio
Para cada PM del Directorio Partes tabulares del ciclo.
File.WriteElementStart("TabularPart");
File.WriteAttribute("Nombre", PM.Nombre);
File.WriteAttribute("Sinónimo", PM.Sinónimo);

Para cada accesorio del ciclo PM.Props
File.WriteElementStart("Accesorios");
File.WriteAttribute("Nombre", Atributos.Nombre);
File.WriteAttribute("Sinónimo", Atributos.Sinónimo);
Archivo.WriteEndElement();
Fin del ciclo;

Archivo.WriteEndElement();
Fin del ciclo;

//WriteEndElement - "cierra" la rama abierta previamente usando WriteBeginElement
Archivo.WriteEndElement();
Fin del ciclo;

Archivo.WriteEndElement();
Archivo.Cerrar();



 


Leer:



Música en color en arduino Música en color en el microcontrolador avr

Música en color en arduino Música en color en el microcontrolador avr

La música ligera en el controlador atmega8 llamó la atención por su facilidad de fabricación. Al repetir el esquema no hubo necesidad de calcular...

Qué hacer si tu Mac se calienta en Windows Enfría tu MacBook en Windows

Qué hacer si tu Mac se calienta en Windows Enfría tu MacBook en Windows

Muchos usuarios de Mac probablemente hayan experimentado una situación en la que estaba tan alto que parecía que iba a despegar. Generalmente esto no es...

Tu Mac comenzará a ralentizarse enormemente, pero esto se puede evitar

Tu Mac comenzará a ralentizarse enormemente, pero esto se puede evitar

Para propietarios de aimaks, minis, macbooks y todos aquellos que estén preocupados por la excesiva temperatura de sus dispositivos.UPD: todo lo que se escribe a continuación es específicamente...

¿Cuáles son las características del juego en el servidor europeo Archeage?

¿Cuáles son las características del juego en el servidor europeo Archeage?

Trion Worlds comenzó a trabajar en la localización del juego coreano ArcheAge en 2013, abriendo inmediatamente la preinscripción para la prueba beta. 17...

imagen-feed RSS