Suppose the XML document returned by the server, as follows:
| The code is as follows |
Copy Code |
|
<?xml version= "1.0" encoding= "gb2312"?>
<list>
<caption>member list</caption>
<member>
<name>isaac</name>
<class>W13</class>
<birth>jun 24th</birth>
<constell>Cancer</constell>
<mobile>1118159</mobile>
</member>
<member>
<name>fresheggs</name>
<class>W610</class>
<birth>nov 5th</birth>
<constell>Scorpio</constell>
<mobile>1038818</mobile>
</member>
<member>
<name>girlwing</name>
<class>W210</class>
<birth>sep 16th</birth>
<constell>Virgo</constell>
<mobile>1307994</mobile>
</member>
<member>
<name>tastestory</name>
<class>W15</class>
<birth>nov 29th</birth>
<constell>Sagittarius</constell>
<mobile>1095245</mobile>
</member>
<member>
<name>lovehate</name>
<class>W47</class>
<birth>sep 5th</birth>
<constell>Virgo</constell>
<mobile>6098017</mobile>
</member>
<member>
<name>slepox</name>
<class>W19</class>
<birth>nov 18th</birth>
<constell>Scorpio</constell>
<mobile>0658635</mobile>
</member>
<member>
<name>smartlau</name>
<class>W19</class>
<birth>dec 30th</birth>
<constell>Capricorn</constell>
<mobile>0006621</mobile>
</member>
<member>
<name>tuonene</name>
<class>W210</class>
<birth>nov 26th</birth>
<constell>Sagittarius</constell>
<mobile>0091704</mobile>
</member>
<member>
<name>dovecho</name>
<class>W19</class>
<birth>dec 9th</birth>
<constell>Sagittarius</constell>
<mobile>1892013</mobile>
</member>
<member>
<name>shanghen</name>
<class>W42</class>
<birth>may 24th</birth>
<constell>Gemini</constell>
<mobile>1544254</mobile>
</member>
<member>
<name>venessawj</name>
<class>W45</class>
<BIRTH>APR 1st</birth>
<constell>Aries</constell>
<mobile>1523753</mobile>
</member>
<member>
<name>lightyear</name>
<class>W311</class>
<birth>mar 23th</birth>
<constell>Aries</constell>
<mobile>1002908</mobile>
</member>
</list>
|
The client obtains the server-side XML data and displays it in the table. The code is as follows:
| The code is as follows |
Copy Code |
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<title>responseXML</title>
<style>
<!--
. datalist{
border:1px solid #744011; /* Table Border * *
font-family:arial;
Border-collapse:collapse; /* Border overlap * *
Background-color: #ffd2aa; /* Table Background color * *
font-size:14px;
}
. DataList th{
border:1px solid #744011; /* Line name Border * *
Background-color: #a16128; /* Line Name background color * *
Color: #FFFFFF; /* Line Name Color * *
Font-weight:bold;
padding-top:4px; padding-bottom:4px;
padding-left:12px; padding-right:12px;
Text-align:center;
}
. DataList td{
border:1px solid #744011; /* Cell Border * *
Text-align:left;
padding-top:4px; padding-bottom:4px;
padding-left:10px; padding-right:10px;
}
. DataList Tr:hover,. DataList tr.altrow{
Background-color: #dca06b; /* Dynamic discoloration * *
}
input{/* Button style * *
border:1px solid #744011;
Color: #744011;
}
-->
</style>
<script language= "JavaScript" >
var xmlHttp;
function Createxmlhttprequest () {
if (window. ActiveXObject)
XmlHttp = new ActiveXObject ("Microsoft.XMLHTTP");
else if (window. XMLHttpRequest)
XmlHttp = new XMLHttpRequest ();
}
function GetXML (addressxml) {
var url = addressxml + "? timestamp=" + New Date ();
Createxmlhttprequest ();
Xmlhttp.onreadystatechange = Handlestatechange;
Xmlhttp.open ("get", url);
Xmlhttp.send (NULL);
}
function Addtablerow (sname, Sclass, Sbirth, Sconstell, Smobile) {
Table to add a row of related actions, see 7.2.1 section
var otable = document.getElementById ("member");
var oTr = Otable.insertrow (oTable.rows.length);
var atext = new Array ();
Atext[0] = document.createTextNode (sname);
ATEXT[1] = document.createTextNode (Sclass);
ATEXT[2] = document.createTextNode (Sbirth);
ATEXT[3] = document.createTextNode (Sconstell);
ATEXT[4] = document.createTextNode (smobile);
for (Var i=0;i<atext.length;i++) {
var oTd = Otr.insertcell (i);
Otd.appendchild (Atext[i]);
}
}
function Drawtable (myxml) {
Manipulating XML documents with DOM methods
var omembers = Myxml.getelementsbytagname ("member");
var omember = "", sname = "", Sclass = "", Sbirth = "", Sconstell = "", Smobile = "";
for (Var i=0;i<omembers.length;i++) {
Omember = Omembers[i];
sname = Omember.getelementsbytagname ("name") [0].firstchild.nodevalue;
Sclass = Omember.getelementsbytagname ("class") [0].firstchild.nodevalue;
Sbirth = Omember.getelementsbytagname ("Birth") [0].firstchild.nodevalue;
Sconstell = Omember.getelementsbytagname ("Constell") [0].firstchild.nodevalue;
Smobile = Omember.getelementsbytagname ("mobile") [0].firstchild.nodevalue;
Add a row
Addtablerow (sname, Sclass, Sbirth, Sconstell, smobile);
}
}
function Handlestatechange () {
if (xmlhttp.readystate = = 4 && xmlhttp.status = 200)
Drawtable (Xmlhttp.responsexml); Responsexml get to XML document
}
</script>
<body>
<input type= "button" value= "Get xml" onclick= "GetXML (' 9-4.xml ');" ><br><br>
<table class= "DataList" summary= "List of members in EE Studay" id= "Member" >
<tr>
<th scope= "Col" >Name</th>
<th scope= "Col" >Class</th>
<th scope= "Col" >Birthday</th>
<th scope= "Col" >Constellation</th>
<th scope= "Col" >Mobile</th>
</tr>
</table>
</body>
|
We can see that the code to get the XML file at the client is as follows:
| The code is as follows |
Copy Code |
|
<input type= "button" value= "Get xml" onclick= "GetXML (' 9-4.xml ');" > |
In other words, the XML data is obtained directly. The actual development of the return of XML data work is through the server side (such as: asp.net, JSP, etc.) code generated dynamically. In other words, the file address in GetXML (' ... ') should be the suffix of a dynamic page such as. aspx or. jsp.
Using the jquery framework to implement
If you use the jquery framework on the client side, implement Ajax to get the server-side XML data.
The code is as follows:
| The code is as follows |
Copy Code |
<title> Demo </title>
<meta name= "Author" content= "Xugang"/>
<script language= "javascript" src= "Jquery.min.js" ></script>
<script type= "Text/javascript" >
function GetXML (addressxml) {
Ajax approach to using jquery
$.ajax ({
Type: "Get",
Url:addressxml,
DataType: "xml",//return type (case-sensitive)
Success:function (myXML) {
Each traversal <member> tag
$ (myxml). Find (' member '). each (
function () {
var omember= ", Sname=" ", sclass=" ", sbirth=" ", sconstell=" ", smobile=" ";
Sname = $ (this). Find ("name"). Text ();
Sclass = $ (this). Find ("Class"). Text ();
Sbirth = $ (this). Find ("Birth"). Text ();
Sconstell = $ (this). Find ("Constell"). Text ();
Smobile = $ (this). Find ("mobile"). Text ();
Add rows
$ ("#member"). Append ($ ("<tr><td>" +sname
+ "</td><td>" + sclass
+ "</td><td>" + Sbirth
+ "</td><td>" + Sconstell
+ "</td><td>" + smobile + "</td></tr>");
}
)
}
})
}
</script>
<body>
<input type= "button" value= "Get xml" onclick= "GetXML (' 9-4.xml ');" >
<br/>
<table class= "DataList" id= "Member" >
<TR>
<th scope= "Col" >Name</TH>
<th scope= "Col" >Class</TH>
<th scope= "Col" >Birthday</TH>
<th scope= "Col" >Constellation</TH>
<th scope= "Col" >Mobile</TH>
</TR>
</TABLE>
</body>
|
Server-side delivery of XML data is unchanged