cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • Sign-in to the JMP Community will be unavailable intermittently Dec. 6-7 due to a system update. Thank you for your understanding!
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.
  • JMP 19 is here! Learn more about the new features.

Discussions

Solve problems, and share tips and tricks with other JMP users.
Choose Language Hide Translation Bar

XML parsing to JSL Help

Hi Everyone,

 

I have been stuck on this XML parsing data to JSL for awhile, I can do it at one level but not at 2 levels.

 

I have this XML as below:

 

<Menu name="AAA" role="PP">

<Item name="XXX" value="-11.9" />

<Item name="YYY" value="7.1" />

<Item name="Tool" value="121"/>

<Item name="POSITION" value="301"/>

<Item name="ID" value="1562" />

</Menu>

<Menu name="BBB" role="PP">

<Item name="XXX" value="-1.9" />

<Item name="YYY" value="4.1" />

<Item name="Tool" value="121"/>

<Item name="POSITION" value="301"/>

<Item name="ID" value="1562" />

</Menu>

 

I need the output table to look like this one:

AAA_XXX

AAA_YYY

BBB_XXX

BBB_YYY

-11.9

7.1

-1.9

4.1

 

So far, I have this JSL code but it can only do IF condition at 1 level, but not at 2 levels for Menu and Item.

On Element( "Item",
			Starttag(
				If( XML Attr( "name") == "XXX", 
					column( dt, "AAA_XXX")[row()] = Num( XML Attr( "value"))/10;
				);
				If( XML Attr( "name") == "YYY",
					column( dt, "AAA_YYY")[row()] = Num( XML Attr( "value"))/10;
				);
                                If( XML Attr( "name") == "XXX", 
					column( dt, "BBB_XXX")[row()] = Num( XML Attr( "value"))/10;
				);
				If( XML Attr( "name") == "YYY",
					column( dt, "BBB_YYY")[row()] = Num( XML Attr( "value"))/10;
				);
)

Can you please kindly help me out?

 

Thank you.

2 REPLIES 2
jthi
Super User

Re: XML parsing to JSL Help

I would most likely start by trying the interactive XML import wizard

jthi_0-1691779558453.png

jthi_1-1691779575867.png

From here you can clean the data and modify it if needed and then you can split it

jthi_2-1691779618709.png

 

JMP is able to record most of the steps you need to get here (check enhanced log and source scripts of tables)

-Jarmo
Craige_Hales
Super User

Re: XML parsing to JSL Help

I like it!

Craige

Recommended Articles