faqts : Computers : Programming : Languages : JavaScript : XML

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

1 of 2 people (50%) answered Yes
Recently 1 of 2 people (50%) answered Yes

Entry

JavaScript: File: XML: Table: How convert database table to XML, and load it in array?

Apr 15th, 2006 16:22
Knud van Eeden,


----------------------------------------------------------------------
--- Knud van Eeden --- 06 April 2006 - 00:41 am ----------------------

JavaScript: File: XML: Table: How convert database table to XML, and 
load it in array? 2D

===

Steps: Overview:

 1. -Given your table

--- cut here: begin --------------------------------------------------

    --------------------------------------------
    columnheader1  columnheader2   columnheader3
    --------------------------------------------
    test11         test12          test13
    test21         test22          test23
    test31         test32          test33
    --------------------------------------------

--- cut here: end ----------------------------------------------------

 2. -You can convert this table to XML, by
     wrapping each row between the tags <ROW> and </ROW>.
     And inside this row, you wrap each column
     between the tags <COLUMN> and </COLUMN>

--- cut here: begin --------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<TABLE>

 <ROWHEADER>

  <COLUMNHEADER>
    columnheader1
  </COLUMNHEADER>

  <COLUMNHEADER>
    columnheader2
  </COLUMNHEADER>

  <COLUMNHEADER>
    columnheader3
  </COLUMNHEADER>

 </ROWHEADER>


 <ROW>

  <COLUMN>
    test11
  </COLUMN>

  <COLUMN>
    test12
  </COLUMN>

  <COLUMN>
    test13
  </COLUMN>

 </ROW>


 <ROW>

  <COLUMN>
    test21
  </COLUMN>

  <COLUMN>
    test22
  </COLUMN>

  <COLUMN>
    test23
  </COLUMN>

 </ROW>


 <ROW>

  <COLUMN>
    test31
  </COLUMN>

  <COLUMN>
    test32
  </COLUMN>

  <COLUMN>
    test33
  </COLUMN>

 </ROW>


</TABLE>

--- cut here: end ----------------------------------------------------

 3. -Save this e.g. as the file

      table.xml

 4. -To read this XML file data,
     create e.g. the following file:

     1. -It contains 2 nested for next loops.
         The outer loop goes through the rows.
         The inner loop goes through the columns.


     2. -Using the rowI and columnI values you can then e.g. store the
         table values in an array, for further handling with
         e.g. JavaScript.

         1. -E.g.

              myArray[ rowI, columnI ] = columnP.item( columnI ).text

--- cut here: begin --------------------------------------------------

<!-------------------------------------------------------------------->
<HTML>
<!-------------------------------------------------------------------->
<SCRIPT>
 //
 // create a 2 dimensional array in JavaScript (here 4 rows, 3 columns)
 var myArray = new Array( 3 )
 for ( I = 0; I < 4; I++ ) {
  myArray[ I ] = new Array( 4 );
 }
 //
 var fileP = new ActiveXObject( "Microsoft.XMLDOM" );
 var rootP = null;
 var rowP = null;
 var columnP = null;
 var rowI = 0;
 var columnI = 0;
 fileP.load( "table.xml" );
 rootP = fileP.documentElement;
 rowP = rootP.childNodes;
  for ( rowI = 0; rowI <= rowP.length - 1; rowI++ ) {
   alert( "row = " + rowI );
   //
   columnP = rowP.item( rowI ).childNodes;
   for ( columnI = 0; columnI <= columnP.length - 1; columnI++ ) {
    alert( "column" + columnI + " = " + columnP.item( columnI ).text );
    // store that element in that position in the array
    myArray[ rowI ] [ columnI ] = columnP.item( columnI ).text;
   }
  }
  //
  // print the array again, for checking purposes
  //
  for ( rowI = 0; rowI <= rowP.length - 1; rowI++ ) {
   for ( columnI = 0; columnI <= columnP.length - 1; columnI++ ) {
    alert( myArray[ rowI ] [ columnI ] );
   }
  }
 //
</SCRIPT>
<!-------------------------------------------------------------------->
</HTML>
<!-------------------------------------------------------------------->

--- cut here: end ----------------------------------------------------

 5. -Save it e.g. as

      table.htm

 6. If you load this file

     table.htm

    in your browser, you will see
    the row numbers, followed by
    all the columns of that row, one after the other.

--- cut here: begin --------------------------------------------------

row = 0

---

column0 = columnheader1

column1 = columnheader1

column2 = columnheader1

---

row = 1

column0 = test11

column1 = test12

column2 = test13

---

row = 2

column0 = test21

column1 = test22

column2 = test23

---

row = 3

column0 = test31

column1 = test32

column2 = test33

followed by again a printing out by reading the
array values again

===

Tested successfully on
Microsoft Windows XP Professional (service pack 2),
running
Microsoft Internet Explorer v6.x

===

Internet: see also:

---

JavaScript: XML: Link: Overview: Can you give an overview of links?
http://www.faqts.com/knowledge_base/view.phtml/aid/40517/fid/616

----------------------------------------------------------------------