Hola,
Estoy tratando de leer un archivo XML con una estructura similar al fragmento a continuación.
Verdadero
Verdadero
Falso
Sé cómo usar Parse XML llamando a los nombres de los elementos, pero en el documento que tengo hay cientos de nombres de elementos diferentes que no quiero mencionar específicamente en mi código.Entiendo que puede obtener la información de atributo para cada uno de estos usando Text() como el siguiente
información = "";
Analizar XML(xml,
En elemento("Elemento superior",
Texto( info= info|| Trim( Texto XML() ) || " " )
)
);
Con el resultado de que la información es "Verdadero Verdadero Falso", que luego podría analizar en una lista.Pero realmente no quiero usar este código porque no podría saber fácilmente a qué pertenece el valor de False real.¿Hay alguna forma de obtener todos los Elementos de un archivo XML y luego tal vez llamar recursivamente a la función Parse XML en esos elementos para obtener su información de atributo?
Gracias,
brandon
@Craige_Hales ,
¡Guau! Me perdí el xmlwizard en JMP15. Buena característica.Gracias por la captura de pantalla.
Gracias por la rápida respuesta.Usando el asistente XML pude hacerlo funcionar.
1) prueba el asistente XML. Tiene varias formas de adivinar la estructura del XML y una GUI para adaptar las conjeturas. Es posible que no pueda aprovechar la GUI, excepto para probar las conjeturas.
XML Wizard can be opened via File->Open or from JSL as shown.XML Wizard can be opened via File->Open or from JSL as shown.El asistente XML se puede abrir a través de Archivo->Abrir o desde JSL, como se muestra.
Si una de las conjeturas funciona, solo necesita especificar la opción de conjetura que necesita.
dt=open(file,guess("wide"),xmlwizard(0));2) abra el archivo directamente en una tabla... abrir (archivo), a continuación, produce esto, probablemente usando la gran conjetura. Necesita una extensión XML.
dt=open(file);
elementselementselementos
3) O algo así
file=savetextfile("$temp/xxx.xml","<TOPELEMENT>
<ELEMENT1>True</ELEMENT1>
<ELEMENT2>True</ELEMENT2>
<ELEMENT3>False</ELEMENT3>
</TOPELEMENT>");
show(loadtextfile(file,xmlparse(1)));
// {TopElement(Element1("True"), Element2("True"), Element3("False"))};xmlparse convierte la estructura xml en un árbol de expresión JSL. Ver el Complemento Importador XML para conocer una forma de crear una tabla de datos a partir del árbol de expresión analizado. Comentar complementos .
El asistente XML probablemente pueda reemplazar el complemento en la mayoría de los casos.