1、js操作xml文件
- function getXmlDoc(xmlfile)//声称MLDOM对象
- {
- var xmlDoc;
- if(window.ActiveXObject)
- {
- xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
- xmlDoc.async = false;
- xmlDoc.setProperty("SelectionLanguage","XPath");//早期的XML版本对象创建方法是使用new ActiveXObject("Microsoft.XMLDOM");,默认属性SelectionLanguage是正则表达式,不是XPath语言。
- xmlDoc.load(xmlfile);
- }
- else if (document.implementation&&document.implementation.createDocument)
- {
- xmlDoc = document.implementation.createDocument('', '', null);
- xmlDoc.load(xmlfile);
- }
- else
- {
- return null;
- }
- return xmlDoc;
- }
- function initText()
- {
- var xmlfile = "E://web//WebSite2//REVIEW.xml";//xml文件的物理地址
- var oXMLDoc = getXmlDoc(xmlfile);
- var xpth = "//review/Item[REVIEW_MOVEID/text()='12']";//选择REVIEW_MOVEID节点值等于‘12’的节点
- var obj = oXMLDoc.documentElement.selectNodes(xpth);
- for(var k=0;k<obj.length;k++)
- {
- var name = obj[k].childNodes[0].text;//获得节点值
- var id = obj[k].childNodes[0].attributes[0].nodeValue;//获得属性的值
- }
- }
相应的xml文件:
- <?xml version="1.0" encoding="utf-8"?>
- <review>
- <Item>
- <REVIEW_NAME>3</REVIEW_NAME>
- <REVIEW_ID>1</REVIEW_ID>
- <REVIEW_TIME>2008-8-6 10:53:30</REVIEW_TIME>
- <REVIEW_CONTENT>3</REVIEW_CONTENT>
- <REVIEW_MOVEID>123</REVIEW_MOVEID>
- </Item>
- <Item>
- <REVIEW_NAME id="1">wang</REVIEW_NAME>
- <REVIEW_ID>1</REVIEW_ID>
- <REVIEW_TIME>2008-8-6 11:52:51</REVIEW_TIME>
- <REVIEW_CONTENT>re</REVIEW_CONTENT>
- <REVIEW_MOVEID>12</REVIEW_MOVEID>
- </Item>
- </review>
支持XPath函数
2、ajax返回xml流
- ajax.get(url,Temp);//异步发出请求,返回xml文件流
- function Temp(obj)
- {
- var ResponseResult = obj.responseText;
- call_back(ResponseResult);
- }
- //载入XML并显示第一页
- function call_back(res)
- {
- oDoc = new ActiveXObject("MSXML2.DOMDocument");
- oDoc.loadXML(res);
- }
- var Xpath = "//MyTable/CLASS_ID";
- var CLASS_ID = oDoc.selectNodes(Xpath);//xml文档操作
是不是一样很简单,区别在于加载xml文件还是xml文件流