0

How to get the elements of an XML if we know the nodename.I have a sample XML like below.

<?xml version="1.0"?>
<!DOCTYPE PARTS SYSTEM "parts.dtd">
<?xml-stylesheet type="text/css" href="xmlpartsstyle.css"?>
<PARTS>
   <TITLE>Computer Parts</TITLE>
<PART>
  <ITEM>Motherboard</ITEM>
  <MANUFACTURER>ASUS</MANUFACTURER>
  <MODEL>P3B-F</MODEL>
  <COST> 123.00</COST>
</PART>
<PART>
  <ITEM>Video Card</ITEM>
  <MANUFACTURER>ATI</MANUFACTURER>
  <MODEL>All-in-Wonder Pro</MODEL>
  <COST> 160.00</COST>
</PART>
<PART>
  <ITEM>Sound Card</ITEM>
  <MANUFACTURER>Creative Labs</MANUFACTURER>
  <MODEL>Sound Blaster Live</MODEL>
  <COST> 80.00</COST>
</PART>
<PART>
  <ITEMᡋ inch Monitor</ITEM>
  <MANUFACTURER>LG Electronics</MANUFACTURER>
  <MODEL> 995E</MODEL>
  <COST> 290.00</COST>
</PART>

I want to get all the element in an array using esql. How to do it?

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278

2 Answers2

0
FOR part AS OutputRoot.XMLNSC.PARTS.PART[] DO
        SET item = part.ITEM;
        SET manufacturer= part.MANUFACTURER;
        SET model= part.MODEL;
        SET cost = part.COST;
        -- do what you want... 
END FOR;
Achillies
  • 1
  • 1
0

Assuming you are parsing the xml on entry then you can simply just use the following:

SET myvar[] = InputRoot.XMLNSC.PARTS.PART[]
alaboudi
  • 3,187
  • 4
  • 29
  • 47