CIAO,
Sto cercando di leggere un file XML con una struttura simile allo snippet di seguito.
Vero
Vero
Falso
So come utilizzare Parse XML richiamando i nomi degli elementi, ma nel documento che ho ci sono centinaia di nomi di elementi diversi che non voglio richiamare specificamente nel mio codice.Capisco che puoi prendere le informazioni sugli attributi per ognuno di questi usando Text() come il seguente
informazioni = "";
Analizza XML(xml,
Sull'elemento("Elemento superiore",
Testo( info= info|| Trim( Testo XML() ) || " " )
)
);
Con il risultato che le informazioni sono "True True False" che potrei quindi analizzare in un elenco.Ma non voglio davvero usare questo codice perché non sarei in grado di sapere facilmente a cosa appartiene il valore di False actual.È comunque possibile ottenere tutti gli elementi di un file XML e quindi forse chiamare in modo ricorsivo la funzione Parse XML su quegli elementi per ottenere le informazioni sugli attributi?
Grazie,
Brandon
@Craige_Hales ,
Wow! Ho perso xmlwizard in JMP15. Bella caratteristica.Grazie per lo screenshot.
Grazie per la risposta rapida.Usando la procedura guidata XML sono riuscito a farlo funzionare.
1) prova la procedura guidata XML. Ha diversi modi per indovinare la struttura dell'XML e una GUI per adattare le ipotesi. Potresti non essere in grado di sfruttare la GUI, se non per testare le ipotesi.
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.XML Wizard può essere aperto tramite File->Apri o da JSL come mostrato.
Se una delle ipotesi funziona, devi solo specificare l'opzione di ipotesi di cui hai bisogno.
dt=open(file,guess("wide"),xmlwizard(0));2) apri il file direttamente in una tabella... open(file), sotto, produce questo, probabilmente usando l'enorme supposizione. Necessita di un'estensione XML.
dt=open(file);
elementselementselementi
3) O qualcosa del genere
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 converte la struttura xml in un albero delle espressioni JSL. Vedi il Componente aggiuntivo importatore XML per un modo per creare una tabella di dati dall'albero delle espressioni analizzate. Commenta i componenti aggiuntivi .
La procedura guidata XML può probabilmente sostituire il componente aggiuntivo nella maggior parte dei casi.