javascript操作Xml增刪改查(IE下)

來源:互聯網
上載者:User

html檔案:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml" ><br /><head><br /> <title>js操作Xml增刪改查(IE下)</title><br /> <mce:script type="text/javascript"><!--<br /> /*等解決的問題:<br /> 1.xpath到底是定位到哪一層,怎樣定位到比如root這一級還是person或name這一級.<br /> */<br /> var xmlDoc;<br /> var rootNode; //根結點<br /> //裝載Xml文檔<br /> function loadXml(){<br /> try{<br /> xmlDoc = new ActiveXObject("Microsoft.XMLDOM");<br /> xmlDoc.async=false;//關閉非同步載入<br /> xmlDoc.load("XmlFile.xml");//load是從檔案,loadXML是從字串.<br /> rootNode = xmlDoc.documentElement;<br /> }catch(e) {alert(e.message)}<br /> }<br /> //顯示記憶體中的Xml文檔<br /> function outXml(){<br /> var divXml=document.getElementById("divXml");<br /> divXml.innerHTML=xmlDoc.xml;//顯示xml內容,技巧是加個xml尾碼.?<br /> alert(xmlDoc.xml);<br /> }<br /> //增<br /> function addXml(){<br /> //葉子結點,設定text值<br /> var newName = xmlDoc.createElement("name");<br /> newName.text = "crane";<br /> var newGender = xmlDoc.createElement("gender");<br /> newGender.text = "female";<br /> //父級結點,用appendChild(childNode);<br /> var newPerson = xmlDoc.createElement("person");<br /> //設定屬性id<br /> newPerson.setAttribute("id","2");<br /> newPerson.appendChild(newName);<br /> newPerson.appendChild(newGender);<br /> //增加到根結點<br /> rootNode.appendChild(newPerson);<br /> alert(xmlDoc.xml);<br /> }<br /> //刪<br /> function deleteXml(){<br /> //先找到結點<br /> var singleNode = xmlDoc.selectSingleNode("/root/person[name='tree']");<br /> //找到父級再刪除<br /> singleNode.parentNode.removeChild(singleNode);<br /> alert(xmlDoc.xml);<br /> }<br /> //改<br /> function updateXml(){<br /> var singleNode = xmlDoc.selectSingleNode("/root/person[name='crane']");<br /> singleNode.childNodes[0].text = "updated";<br /> alert(xmlDoc.xml);<br /> }<br /> //查<br /> function queryXml(){<br /> //alert(rootNode.nodeName);//節點名<br /> //alert(rootNode.text);//節點裡的全部內容<br /> //xPath選擇節點數組<br /> //var nodes = xmlDoc.selectNodes("/root/person");<br /> //alert(nodes[0].text);<br /> //選擇單個節點<br /> /*總結<br /> 1."/root/person[name='tree']"等同於"/root[person/name='tree']"即找出來的是person結點<br /> */<br /> var singleNode = xmlDoc.selectSingleNode("/root/person[gender='female']");//這裡的值需要加引號<br /> alert(singleNode.text);<br /> alert(singleNode.getAttribute("id"));<br /> //測試xpath定位<br /> var sglNode = xmlDoc.selectSingleNode("/root[person/gender='male']");//這裡定位不明確.再研究.<br /> alert(sglNode.text);<br /> //顯示全部xml文檔<br /> //alert(xmlDoc.xml);<br /> }</p><p>// --></mce:script><br /></head><br /><body><br /><div id="divXml"></div><br /><input type="button" value="load" onclick="loadXml();" /><br /><input type="button" value="show" onclick="outXml();" /><br /><input type="button" value="add" onclick="addXml();" /><br /><input type="button" value="delete" onclick="deleteXml();" /><br /><input type="button" value="update" onclick="updateXml();" /><br /><input type="button" value="query" onclick="queryXml();" /><br /></body><br /></html><br /> Xml檔案:<?xml version="1.0" encoding="utf-8" ?><br /><root><br /> <person id="1"><br /> <name>tree</name><br /> <gender>male</gender><br /> </person><br /></root>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.