frequently ask ? : 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 2021 - 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
----------------------------------------------------------------------