Hola, estoy intentando importar unos cientos de archivos XML. Estos archivos deben venir en una sola fila y algunas líneas deben dividirse en varias columnas, por lo que, hasta donde puedo decir, el asistente de importación XML ya no está disponible. Intenté usar el código del asistente de importación como punto de partida, pero A) No pude ver cómo introducir fácilmente muchos matices (como especificar la división del texto en columnas, con una columna con una entrada de hasta 35k en formato csv). cadena) y
No encontré mucha documentación sobre la configuración XML. Encontré documentación y soporte comunitario en Parse XML. Sin embargo, he estado trabajando durante bastante tiempo para adaptar el código que encontré en los foros y en el índice de secuencias de comandos (y tal vez incluso algunas consultas bastante inútiles a ChatGPT) sin éxito. Soy muy novato en jsl (y en la codificación en general), por lo que esto podría ser muy simple.
Esto es lo que tengo ahora. Tenía más, pero supongo que para empezar, solo quiero poder acceder a los datos xml y usar el comando Parse correctamente, pero tengo serios problemas para crear algo que no sea una tabla, y parece que no puedo. tomando el atributo correctamente, ya que la tabla aparece sin nombre:
// Specify your preferred default folder
default_folder = "G:\My Drive\Edward H Chandler, Jr\VCU - Research\CERCAS\Project 46\XRD";
Set Default Directory( default_folder );
// Use the default folder to pick a file
file contents = Load Text File( Pick File(default_folder) );
Parse XML( file contents,
On Element(
"http://www.xrdml.com/XRDMeasurement/2.1^sample",
StartTag(
sheetname = XML Attr(
"http://www.xrdml.com/XRDMeasurement/2.1^type"
);
dt = New Table( sheetname );
row = 1;
col = 1;
)
)
);Estoy sacando gran parte de aquí y aquí , pero noto cierta sintaxis no documentada, como la inclusión de un segundo término en el comando XML Attr con "Sin título" en ese primer enlace, por lo que ni siquiera estoy seguro de si este código es de aplicación general, aunque lo entendí. para trabajar en el archivo BigData para el que fue creado. Tampoco estoy seguro sobre el uso de "^" para indicar niños, pero estoy un poco perdido en este punto. Supongo que también podría ser un problema con el título del espacio de nombres como página web, pero tengo entendido que una cadena es una cadena es una cadena.
De todos modos, ¿alguien tiene alguna sugerencia o comentario? Incluso estoy abierto a volver a la ruta de configuración XML.
También adjunté uno de los archivos xml. Originalmente era un archivo .xrdml, pero tengo entendido que está estructurado como un archivo xml, así que simplemente cambié el tipo de archivo.
¡Gracias de antemano!
¿Cómo le gustaría que se vieran los datos al final?
¿Wide Guess no te lleva muy lejos?

@jthi Gracias por la respuesta y perdón por la respuesta tardía. Bien. La conjetura amplia es definitivamente el camino a seguir. Pensé que había hecho clic en eso, pero supongo que hice clic mal o algo así. Gracias por mencionarlo.
Aquí hay otra pregunta con la que estoy teniendo algunos problemas. Quiero importar esto a una hoja existente, así que haga coincidir las columnas existentes y luego tal vez arroje un mensaje de error si hay una columna que no coincide. También quiero dividir ciertas celdas según los delimitadores, así que supongo que usaré la función Word(). Sin embargo, no estoy muy seguro de cómo hacer esto de forma rápida. Lo mejor que se me ocurre es crear una tabla intermedia y luego hacer que el script lea la tabla, tal vez tener una ventana de entrada del usuario para copiar la fila (habrá >250 filas), copiar la información mientras se divide con Word. (), arroja un mensaje de error si no todas las columnas coinciden y luego elimina la tabla intermedia ficticia al final (tal vez con un botón de aprobación "ok"). Creo que puedo descubrir cómo hacerlo, pero ¿hay alguna manera de hacerlo directamente en la tabla a la que finalmente obtengo la información sin esa tabla intermedia? La documentación del comando de configuración XML es mínima, a menos que me falte alguna parte.
¡Gracias!
Después de obtener los datos en la tabla JMP (lo más probable es que el formato ancho funcione), comience a descubrir diferentes métodos con los que JMP puede limpiar/modificar aún más los datos. No creo que puedas hacer todo directamente en el Asistente de importación XML (lo más probable es que Parse XML pueda hacerlo, pero en mi opinión es bastante complicado de usar).
Sí, ancho fue mi punto de partida, y luego simplemente edité un montón de nombres de columnas, dividí columnas, puse datos de columnas en la propiedad de unidad de otros y los eliminé, etc. Se adjunta el archivo final si alguien lo encuentra útil. como guía sobre algunas cosas que se pueden hacer al limpiar un archivo XML. No es bonito, pero está ahí.