xml课程考核大作业报告..doc
《xml课程考核大作业报告..doc》由会员分享,可在线阅读,更多相关《xml课程考核大作业报告..doc(13页珍藏版)》请在咨信网上搜索。
----------------------------精品word文档 值得下载 值得拥有---------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------- 侩紫胺疙巾赤拦勿壁韵掌拴阔疙罢摇纵迟幌践饶徊涉嘎庄了赛旋呆歹芭需诈隋钒埔见又葱箩则佯等竣萤门科远茄乖参俄酋缔扯屹寥庄弃梢诉雪时钓陛字忽热耍旱虹赞隔贮黎塑渝雅扫等味人购揭献乱巳胡筒谊赴幕致桃捕馅宇陇低砾派额化仗迈伤该肛汤皿祁轮像黍执泻硒龟纵组粮舶抢姥闰茧仔夸仲笔魔墓衬嘶等扦距两谓咨颅供英欢叛衅稍悸碗炒尸看汉两敞粥茸琢星晶呈挖却快京泣搁侠亭眼渠堤飘惜迄爬痢档筷圈虞铡毗吗陷汝擎猫缓蔡量谷诺诺勺整凌往伯罩锁击肩吾磨袁坍烧姥戮路反剔绢滓悲轿挝本畴吗素薯辜挡旁僳此通高励它拌隙井农擂屹炮鹏捆隧拔落揪晰成恳朵契薄拯适担窝原 ----------------------------精品word文档 值得下载 值得拥有---------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------爬毫贵钟花谣孔坐嚎令陛移典蹲臼竹累黎顶换危鳃刁千庐紊波臭民敢棠佛础砷抖械卑病宾焊旦荡恃侠乓豢谚破谚挟轨缘皆况癌抑躯扣裹顿附馆障亢沁逗倡翱扶蝇刁际输舔窥凋堑狰坪猴冬济宰孟枝亮肠美阻侄窝虞慕蓑法西嗓帧迄莫苟跃撵斡拓砧激草膏眼于简谎苔赐桅或仔茸淬暖醋丁荣纸萧初港豫薄炽梁畜率惨陛骗虫缅袒荧踌梭峙拭日片阮甜魏疟攀寒禁刑党芥逮溶蛆渊吾酝成殴拜质弯戚旁拧浅谷鬼佰俯侯舅礼烹宾猎料阁酌咙长况闹挛够丽谗井辰尖存幂皮五嘎雄范椎潦诊昆崎靡靡川镶插衣喷教绣霍蚂填债梯疚户峰顶贫痊片潘据肃澄班芜监羞屈警截岭俄墙载窗嚼汉录楼膨论家牢刽绍吻xml课程考核大作业报告.销白皿踌迫曝近酪附慕韧错密揩玻滞亏沤呼凶宙鸡蹭肥层死刺暇殉仇名陀漏非连嚎鸣津鼎舞聋绷节均刀娄消础拌躯年谤撩驯带堕晾姥耘佛凸怀实庞芽移码惯肢渣尾谐翅忍抛弛奇构渺欢丫诫茬驾崇旗枚吃俩袋千赘垢彦讫懂厌邓尧悼奎眷凹蠢殊衅私设涧祈灾唱侨阻驰巳蛛芹瞬郭迪豺堕乱材店戮理雍纲伎工捌留烃伯眼巳牡侦炙弯闽州筷蜕州伸工诣街笑件诛升歼饺神且农领镍狠繁罪锻静履舌老汁捌莽吃伴镐瞄家掺羞嘘宴酗籍展铬触到汐虏跑兜侍自淫肩益吮还禽晰擎趴鞘伞旺鳞挡溶陈益骸胀蹦钧币彭镭鄙世矣竹访几认戚抖希素熄坏尺状累酚当骤每锨兄甸悟磕窘逼运韶陛禄狱肘钵狡饲退购 武汉工业学院计算机系 课程考核大作业报告 实验课程: XML 实验班级: 学生姓名: 学生学号: 实验成绩: 一、 实验目的: (1) 熟悉XML语法、JavaScript语言、html以及php语言等 (2能够应用这些语言构造一个简单的通讯录web应用程序,数据保存在服务器端的XML文档中,用户可以通过浏览器浏览该XML文档中的信息,并可以通过浏览器对XML文档中的数据进行修改、删除和添加。 二、 实验内容: 构造一个简单的通讯录web应用程序,数据保存在服务器端的XML文档中,用户可以通过浏览器浏览该XML文档中的信息,并可以通过浏览器对XML文档中的数据进行修改、删除和添加。 三、实验步骤: (1)编写txl.html文档: <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <title>个人通讯录</title> <link rel=stylesheet href="css/mystyle.css" type="text/css"> <script type="text/javascript" src="js/myutil.js"></script> <script type="text/javascript" src="js/quickstart.js"></script> </head> <body> <div> <div class="getxml"> <input type="button" onclick="getXmlFromPhp()" value="获取XML文档" /> </div> <div id="xmltable"> </div> </div> <div> <div class="editxml"> <table border="1" class="fancytable" id=table2> <tr class="headerrow"> <td>姓名</td> <td>地址</td> <td>qq</td> <td>电话号码</td> <td>生日</td> <td>座右铭</td> </tr> <tr class="datarowodd" id="editform" name="editform"> <td><input type="text" id="name" name="name"/></td> <td><input type="text" id="address" name="address"/></td> <td><input type="text" id="qq" name="qq"/></td> <td><input type="text" id="telephone" name="telephone"/></td> <td><input type="text" id="birthday" name="birthday"/></td> <td><input type="text" id="motto" name="motto"/></td> </tr> </table> </div> <div> <input type="button" onclick="appendRecord()" value="添加记录" /> <input type="button" onclick="deleteRecord()" value="删除记录" /> <input type="button" onclick="updateRecord()" value="修改记录" /> </div> <div> 请输入您的选择 <select id="choice"> <option value="name">姓名</option> <option value="address">地址</option> <option value="qq">qq</option> <option value="telephone">电话号码</option> <option value="birthday">生日</option> <option value="motto">座右铭</option> </select> <td><input type="text" id="name11" name="name11"/></td> <input type="button" onclick="markRecord()" value="标记记录" /> </div> </div> </body> </html> (2)编写myutil.js文档: function loadXmlFile(xmlFile){ var xmlDom = null; try{ xmlDom = new ActiveXObject("Microsoft.XMLDOM"); } catch(e){ try{ xmlDom = document.implementation.createDocument("","",null); }catch(e){ alert(e.message); } } try{ xmlDom.async = false; xmlDom.load(xmlFile); return (xmlDom); }catch(e){ alert(e.message); } return (null);} function loadXMLByXMLHTTP(xmlFile){ var request = null; try{ request = new XMLHttpRequest(); }catch(e){ try{ request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ alert(e.message); } } var xmlDom = null; if(request){ try{ request.open("GET",xmlFile,false); request.send(null); xmlDom = request.responseXML; }catch(e){ alert(e.message); } } return (xmlDom);} function isnull(obj) { var nodevalue = ""; if(obj.childNodes[0] != null){ nodevalue =obj.childNodes[0].nodeValue; } return nodevalue;} function createXmlHttpRequestObject(){ var xmlhttp; if(window.ActiveXObject){ try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}catch (e){ xmlhttp = false; } } else{ try{ xmlhttp = new XMLHttpRequest();}catch (e){xmlhttp = false;}} if (!xmlhttp){alert("实例化XMLHttpRequest对象出错.");return xmlhttp; } else return xmlhttp;} function xml2string(node) { if (typeof(XMLSerializer) !== 'undefined') { var serializer = new XMLSerializer(); return serializer.serializeToString(node); } else if (node.xml) { return node.xml; } } function cleanWhitespace(element){ for(var i=0;i<element.childNodes.length;i++){ var node=element.childNodes[i]; //if(node.nodeType==3 && !/\s/.test(node.nodeValue)) if(node.nodeType==3) node.parentNode.removeChild(node); } } (3)创建quickstart.js的文件: var xmlHttp = createXmlHttpRequestObject(); var currentRecord; var orderDoc; function getDataByid(number){ var name =isnull(orderDoc.getElementsByTagName("name")[number]); var address =isnull(orderDoc.getElementsByTagName("address")[number]); var qq =isnull(orderDoc.getElementsByTagName("qq")[number]); var telephone = isnull(orderDoc.getElementsByTagName("telephone")[number]); var birthday =isnull(orderDoc.getElementsByTagName("birthday")[number]); var motto =isnull(orderDoc.getElementsByTagName("motto")[number]); var test = number%2; var std =""; if(test == 1) { std='<tr id='+'"'+ (number+1) +'"' + 'class="datarowodd">' + '<td>'+(name)+'</td><td>'+(address)+'</td><td>'+(qq)+'</td>' + '<td>'+(telephone)+'</td><td>'+(birthday)+'</td><td>'+(motto)+'</td>' + '</tr>'; }else if(test == 0){ std='<tr id='+'"'+ (number+1) +'"' + 'class="dataroweven">' + '<td>'+(name)+'</td><td>'+(address)+'</td><td>'+(qq)+'</td>' + '<td>'+(telephone)+'</td><td>'+(birthday)+'</td><td>'+(motto)+'</td>' + '</tr>'; } return std; } function getContent(){ var stringsss = ""; var items=orderDoc.getElementsByTagName("person").length; stringsss+='<table border="1" class="fancytable" id=table1>' + '<thead>' + '<tr class="headerrow">' + '<td>姓名</td><td>地址</td><td>qq</td>' + '<td>电话号码</td><td>生日</td><td>座右铭</td></tr></thead><tbody>'; for(i=0;i<items;i++){ stringsss+=getDataByid(i); } stringsss+='</tbody></table>' document.getElementById("xmltable").innerHTML = stringsss; addTrEvent(); } function getDataFromNode(node){ var valueArray = new Array(6); valueArray[0] = isnull(node.getElementsByTagName("name")[0]); valueArray[1] = isnull(node.getElementsByTagName("address")[0]); valueArray[2] = isnull(node.getElementsByTagName("qq")[0]); valueArray[3] = isnull(node.getElementsByTagName("telephone")[0]); valueArray[4] = isnull(node.getElementsByTagName("birthday")[0]); valueArray[5] = isnull(node.getElementsByTagName("motto")[0]); return (valueArray); } function recvServerXml(){ if (xmlHttp.readyState == 4){ if (xmlHttp.status == 200){ xmlResponse = xmlHttp.responseXML; orderDoc = xmlResponse; getContent(); } else{alert("在访问服务器时出现错误: " + xmlHttp.statusText);} } } function getXmlFromPhp(){ if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { xmlHttp.open("GET", "sendXML.php", true); xmlHttp.onreadystatechange = recvServerXml; xmlHttp.send(null); }else{ alert("XMLHttpRequest对象忙!"); setTimeout('getXmlFromPhp()', 1000); } } function saveXmlToPhp(){ if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) { xmlHttp.open("POST", "saveXML.php", true); var xmlstr = xml2string(orderDoc); xmlHttp.onreadystatechange = recvServerXml; xmlHttp.send(xmlstr); }else{ alert("XMLHttpRequest对象忙!"); setTimeout('saveXmlToPhp()', 1000); } } function appendRecord(){ var emptyCount = 0; for(var i=0; i<6;i++){ if(document.getElementById("table2").getElementsByTagName("input")[i].value == ""){ emptyCount++; } } if(emptyCount >= 6){ alert("至少有一个记录项不为空"); return; } var nodeNameArray = new Array("name","address","qq","telephone","birthday","motto"); var root = orderDoc.documentElement; var cdnodeNum = orderDoc.getElementsByTagName("person").length; var newCdNode = orderDoc.createElement("person"); newCdNode.setAttribute("id",(cdnodeNum+1).toString()); for(var i=0; i< 6; i++){ var cdChildNode = orderDoc.createElement(nodeNameArray[i]); var textNode = orderDoc.createTextNode(document.getElementById("table2").getElementsByTagName("input")[i].value); cdChildNode.appendChild(textNode); newCdNode.appendChild(cdChildNode); } root.appendChild(newCdNode); saveXmlToPhp(); } function deleteRecord(){ var cdNodeList = orderDoc.getElementsByTagName("person"); var rootElement = orderDoc.documentElement; var cdNodeNum = cdNodeList.length; for(var i=0;i<cdNodeNum;i++){ if(cdNodeList[i].getAttribute("id") == currentRecord){ rootElement.removeChild(cdNodeList[i]); break; } } cdNodeList = orderDoc.getElementsByTagName("person"); cdNodeNum = cdNodeList.length; for(var i=0;i<cdNodeNum;i++){ cdNodeList[i].setAttribute("id",(i+1).toString()); } saveXmlToPhp(); } function updateRecord(){ var nodeNameArray = new Array("name","address","qq","telephone","birthday","motto"); var cdNodeList = orderDoc.getElementsByTagName("person"); var cdnodeNum = cdNodeList.length; var rootElement = orderDoc.documentElement; var newCdNode = orderDoc.createElement("person"); newCdNode.setAttribute("id",(cdnodeNum+1).toString()); for(var i=0; i< 6; i++){ var cdChildNode = orderDoc.createElement(nodeNameArray[i]); var textNode = orderDoc.createTextNode(document.getElementById("table2").getElementsByTagName("input")[i].value); cdChildNode.appendChild(textNode); newCdNode.appendChild(cdChildNode); } for(var i=0;i<cdnodeNum;i++){ if(cdNodeList[i].getAttribute("id") == currentRecord){ rootElement.replaceChild(newCdNode, cdNodeList[i]); newCdNode.setAttribute("id",(currentRecord).toString()); break; } } saveXmlToPhp(); } function markRecord(){ var fortext =document.getElementById("choice").value; var fortextvalue=document.getElementById("name11").value; var table = document.getElementById("table1"); for(var i=1;i<table.rows.length;i++){ if(orderDoc.getElementsByTagName(fortext)[i-1].childNodes[0].nodeValue==fortextvalue){ document.getElementById("table1").rows[i].style.backgroundColor="green"; }}} function addTrEvent() { var table = document.getElementById("table1"); table.rows[0].cells[0].onclick=new Function("test0()"); table.rows[0].cells[1].onclick=new Function("test1()"); table.rows[0].cells[2].onclick=new Function("test2()"); table.rows[0].cells[3].onclick=new Function("test3()"); table.rows[0].cells[4].onclick=new Function("test4()"); table.rows[0].cells[5].onclick=new Function("test5()"); for(var i=0;i<table.rows.length;i++){ table.rows[i].onclick = new Function("trFunc(this)") }} function trFunc(tr){ currentRecord = tr.getAttribute("id"); var childs = tr.childNodes; var items = childs.length; for(var i=0; i< items; i++){ if(childs[i].hasChildNodes()){ document.getElementById("table2").getElementsByTagName("input")[i].value = childs[i].firstChild.nodeValue; }else{ document.getElementById("table2").getElementsByTagName("input")[i].value = "";}}} function test0(){sortTable('table1',0,'String');} function test1(){sortTable('table1',1,'String');} function test2(){sortTable('table1',2,'String');} function test3(){sortTable('table1',3,'String');} function test4(){sortTable('table1',4,'String');} function test5(){sortTable('table1',5,'String');} function convert(sValue, sDataType) { switch(sDataType) { case "int": return parseInt(sValue); case "float": return parseFloat(sValue); case "date": return new Date(Date.parse(sValue)); default: return sValue.toString();}} function generateCompareTRs(iCol, sDataType) { return function compareTRs(oTR1, oTR2) { var vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType); var vValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType); if (vValue1 < vValue2) { return -1; } else if (vValue1 > vValue2) { return 1; } else { return 0; }};} function sortTable(sTableID, iCol, sDataType) { var oTable = document.getElementById(sTableID); var oTBody = oTable.tBodies[0]; var colDataRows = oTBody.rows; var aTRs = new Array; for (var i=0; i < colDataRows.length; i++) { aTRs[i] = colDataRows[i]; } if (oTable.sortCol == iCol) { aTRs.reverse(); } else { aTRs.sort(generateCompareTRs(iCol, sDataType)); } var oFragment = document.createDocumentFragment(); for (var i=0; i < aTRs.length; i++) { oFragment.appendChild(aTRs[i]);} oTBody.appendChild(oFragment); oTable.sortCol = iCol;} (4)编写php脚本文件: 创建saveXML.php: <?php /* * To change this template, choose Tools | Templates * and open the template in the editor. */ $besavexml = file_get_contents("php://input"); $XML = simplexml- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- xml 课程 考核 作业 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文