XML操作实验

XML操作实验

实验内容:
注意:以下代码均只支持IE,请在IE浏览器或者QQ浏览器兼容模式下使用。
如需修改,请自行修改读取XML文件的函数loadXML()

1编写程序,解析score.xml文件,要求输出的结果如图1所示。
XML操作实验

score.xml

<?xml version="1.0" encoding="UTF-8"?>
<score>
	<name>
	        <alias>张三</alias>
		<math>89</math>
		<english>90</english>
	</name>
	<name>
		<alias>李四</alias>
		<math>92</math>
		<english>87</english>
	</name>
	<name>
		<alias>王五</alias>
		<math>95</math>
		<english>90</english>
	</name>
</score>

代码:

//请自行添加到HTML文件进行相应尝试
<script>
        window.onload=function useScoreXml(){
            var xmlFile="./score.xml";
            var xmlDoc=loadXML(xmlFile);
            var scoreList=xmlDoc.documentElement.getElementsByTagName("name");
            document.write("<table>");
            for(var i=0;i<scoreList.length;i++)
            {
                document.write("<tr>");
                var attList=scoreList[i].childNodes;
                for(var j=0;j<attList.length;j++)
                {
                    document.write("<td>"+attList[j].text+"</td>");
                }
                document.write("</tr>");
            }
        }

        //读取XML文件,只支持IE
        function loadXML(xmlFile) {
            var xmlDoc;
            xmlDoc= new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
            return xmlDoc;
        }
 </script>

实际运行结果:
XML操作实验

2、编写程序,修改下面的XML文件Book.xml,要求:
(1)为每一个book元素添加一个author子元素,元素内容自定。
(2)修改title元素的值,在文本内容的后面添加文本“(电子工业出版社)”。

例如:
<title> Java面向对象编程</title>      变为:
<title> Java面向对象编程(电子工业出版社)</title>

(3)删除原有的第三个元素。
(4)为每一个book元素添加一个category属性子元素,元素内容自定,如:
(5)使用DOM接口,javascript语言实现。
book.xml

<?xml version="1.0" encoding="utf-8" ?>
<books>
	<book>
		<title>Java面向对象编程</title>
		<author>孙卫琴</author>
	</book>
	<book>
		<title>JSP动态网页编程技术</title>
		<author>李伟民</author>
	</book>
	<book>
		<title>精通Hibernate</title>
		<author>刘洋</author>
	</book>
</books>

代码:

//请添加到相应的HTML文件进行尝试
<script>
        window.onload=function useBookXml(){
            var xmlFile="./Book.xml";
            var xmlDoc=loadXML(xmlFile);
            var x=xmlDoc.documentElement;
            var bookList=xmlDoc.getElementsByTagName("book");
            for(var i=0;i<bookList.length;i++)
            {
                //为每一个book元素添加一个author子元素
                var newNode=xmlDoc.createElement("author");
                var textNode=xmlDoc.createTextNode("The Second Author Bai");
                newNode.appendChild(textNode);
                bookList[i].appendChild(newNode);

                //修改title元素的值
                // var NewNode=xmlDoc.createElement("book");
                var newtextNode=xmlDoc.getElementsByTagName("title")[i].text+"(电子工业出版社)";
                // var newTitle=xmlDoc.createElement("title");
                // newTitle.appendChild(newtextNode);
                // NewNode.appendChild(newTitle);
                bookList[i].childNodes[0].text=newtextNode;
                // x.replaceChild(NewNode,y);

                //删除第三个元素
                if(i==2){
                    var y=bookList[i];
                    y.parentNode.removeChild(y);
                }

                //添加属性
                bookList[i].setAttribute("category","computer");
            }
            //重新加载数组
            var bookList=xmlDoc.getElementsByTagName("book");
            document.write("<table>");
            for(var i=0;i<bookList.length;i++)
            {
                document.write("<tr>");
                var attList=bookList[i].childNodes;
                for(var j=0;j<attList.length;j++)
                {
                    document.write("<td>"+attList[j].text+"</td>");
                }
                document.write("<td>"+"category属性:"+bookList[i].getAttribute("category")+"</td>");
                document.write("</tr>");
            }
        }

        //读取XML文件,只支持IE
        function loadXML(xmlFile) {
            var xmlDoc;
            xmlDoc= new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
            return xmlDoc;
        }

    </script>

运行结果:
XML操作实验

上一篇:C#学习笔记之XML工具类


下一篇:游戏存档实例