9.1.1 test.xml 文件内容

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

<body>

 <element>

  <title>title 1</title>

  <content>content 1</content>

 </element>

 <element>

  <title>title 2</title>

  <content>content 2</content>

 </element>

 <element>

  <title>title 3</title>

  <content>content 3</content>

 </element>

 <element>

  <title>title 4</title>

  <content>content 4</content>

 </element>

 <element>

  <title></title>

  <content></content>

 </element>

 <element>

  <title>title 6</title>

  <content></content>

 </element>

 <element>

  <title></title>

  <content>content 7</content>

 </element>

</body>

9.1.2 html 文件内容

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>shawl.qiu template</title>

<script type="text/javascript">

//<![CDATA[

 function fLoadXml(url, show){

  switch(fCkDom2()){

   case 1:

    var xml=document.implementation.createDocument('','',null);

     xml.onload = function(){show(xml, url);}

     xml.load(url);

    break;

   case 2:

    var xml=new ActiveXObject('microsoft.xmldom');

     xml.onreadystatechange=function(){

      if(xml.readyState==4){

       show(xml, url);

      }

     }

     xml.load(url);

    break;

   default: document.write('unknown');

  }


  function fCkDom2(){

   if(document.implementation&&document.implementation.createDocument)return 1;

   else if(window.ActiveXObject) return 2;

   else return 0;

  }

 }


 function fShowXml(xml, url){

  //alert('ok');

  var elements=xml.getElementsByTagName('element');

   for(var i=0; i<elements.length; i++){

    //alert(elements[i].nodeName);

    var div=document.createElement('div');

    var br=document.createElement('br');

    var hr=document.createElement('hr');


    //div.appendChild(document.createTextNode(elements[i].nodeName+' '+i));

    div.innerHTML=(elements[i].nodeName+' '+i).fontcolor('red');


    //alert(element[i].childNodes.length);

    for(var j=0; j<elements[i].childNodes.length; j++){

     if(elements[i].childNodes[j].nodeType==1){

      var eSub=elements[i].childNodes[j]

      var p=document.createElement('p');

      var content;


  /*      p.appendChild(document.createTextNode(eSub.nodeName+': '+

       eSub.firstChild.data)); */

       try{

        content=eSub.firstChild.data.fontcolor('blue');

       } catch(e){

        content='empty';

       }

       p.innerHTML=eSub.nodeName.bold()+': '+content.fontcolor('blue');

       div.appendChild(p);

     }

    } 


    div.appendChild(hr);

    document.body.appendChild(div);

   }

  //alert(document.body.innerHTML);

 }

//]]>

</script>

</head>

<body onload="fLoadXml('test.xml', fShowXml);">

</body>

</html>