- 浏览: 233205 次
文章分类
- 全部博客 (645)
- 移动互联网 (0)
- 开发模式及方案 (0)
- 网络基本知识 (0)
- 杀毒 (0)
- 浏览器兼容性 (0)
- APACHE (0)
- CAS (0)
- CSS (0)
- DWR (0)
- IDE (0)
- EXT js (0)
- FLASH (0)
- GIS基本概念 (0)
- IE (0)
- JAVA (0)
- JAVASCRIPT (0)
- JSF (0)
- JSP (0)
- LDAP (0)
- LINUX (0)
- LUCENE (0)
- OFFICE (0)
- Openlayers (0)
- ORACLE (0)
- PDF (0)
- PostgreSQL (0)
- RESIN (0)
- S2SH (0)
- SQLSERVER (0)
- STRUTS (0)
- SVN (0)
- WEBLOGIC (0)
- WEBSERVICE (0)
- WEB系统测试及优化 (0)
- WINDOWS (0)
- HTML (0)
- REDIS (0)
- PROTOBUF (0)
- JQM (0)
- PYTHON (0)
- MYSQL (0)
- MAVEN (0)
- MEMCACHED (0)
- HADOOP (0)
- NGINX (0)
最新评论
利用Microsoft.XMLHTTP和Microsoft.XMLDOM实现xml文件的读取
var HTML = "";
var space = "";
var blank = "";
function getSubject()
{
var xmlDoc;
if(window.ActiveXObject)
{
//解决JavaScript请求跨域的问题
var xml = new ActiveXObject("Microsoft.XMLHTTP");
var xmlurl = appPath+'/standardocs/nav_getStandarXml.do';
//xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xml.open("post",xmlurl,false);
xml.send(null);
//debugger;
//获得操作的xml文件的对象
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
//xmlDoc.setProperty("SerpoverHTTPRequest", true);
//alert("ShareFileUrl:"+ShareFileUrl+"menu_XML.xml");
xmlDoc.load(xml.responseXML);
if(xmlDoc == null)
{
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
window.location.href='/index.do';
return;
}
//解析xml文件,判断是否出错
if(xmlDoc.parseError.errorCode != 0)
{
alert(xmlDoc.parseError.reason);
return;
}
//获得根接点
var nodes = xmlDoc.documentElement.childNodes;
//得到根接点下共有子接点个数,并循环
HTML="<table width=100% border=0 cellpadding=0 cellspacing=0 style='font-size:12px'>";
for(var i=0; i<nodes.length; i++)
{
//如果接点名为 tree
if(nodes(i).nodeName == "tree")
{
readTree(nodes(i));
}
//如果接点名为 node
else if(nodes(i).nodeName == "node")
{
readNode(nodes(i));
}
}
HTML += "</table>";
//删除对象
delete(xmlDoc);
//显示HTML
var mainShow = document.getElementById("show");
mainShow.innerHTML = HTML;
return;
}
else if (document.implementation && document.implementation.createDocument)
{
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async = false;
//alert("ShareFileUrl:"+ShareFileUrl);
xmlDoc.load("menu_XML.xml");
if (xmlDoc.documentElement.tagName != "parsererror") {
//获得根接点
var nodes = xmlDoc.documentElement.childNodes;
//得到根接点下共有子接点个数,并循环
HTML="<table width=100% border=0 cellpadding=0 cellspacing=0 style='font-size:12px'>";
for(var i=0; i<nodes.length; i++)
{
//如果接点名为 tree
//alert(nodes[i].nodeName);
if(nodes[i].nodeName == "tree")
{
readTree_firefox(nodes[i]);
}
//如果接点名为 node
else if(nodes[i].nodeName == "node")
{
readNode_firefox(nodes[i]);
}
}
HTML += "</table>";
//删除对象
delete(xmlDoc);
//显示HTML
var showDiv = document.getElementById("show");
showDiv.innerHTML = HTML;
return;
} else
{
alert("An Error Occurred");
}
}
else
{
alert('您的浏览器不支持该脚本!');
}
}
//读Tree节点
function readTree(cI)
{
var nodes = cI.childNodes;
var menuHTML = space;
var pdf_link = "standardPDF";
HTML += "<tr><td height=24";
if(cI.getAttribute("lv") == "1")
{
HTML += " bgcolor=#c8d6f1";
}else if(cI.getAttribute("lv") == "2")
{
HTML += " bgcolor=#dfe8f7";
}
//点击菜单事件,调用divshow(vid)函数
HTML += " onclick=javascript:divshow('"+cI.getAttribute("id")+"');";
HTML += " style='cursor:pointer'> ";
for(var j=0; j< cI.getAttribute("lv")-1; j++) {HTML += " "; }
menuHTML += blank;
//得到超级链接
//如果该节点的连接属性不为空,则连接
if(cI.selectNodes("link")(0).text != "")
{
menuHTML += "<a href='" +ShareFileUrl+ pdf_link + "/";
menuHTML += cI.selectNodes("link")(0).text;
menuHTML += "'";
//目标
if(cI.selectNodes("target")(0).text != "")
{
menuHTML += " target='" + cI.selectNodes("target")(0).text;
menuHTML += "'";
}
//点击菜单事件,调用divshow(vid)函数
//menuHTML += " onclick=javascript:divshow('"+cI.getAttribute("id")+"');";
//得到节点标题
menuHTML += " title='";
menuHTML += cI.selectNodes("title")(0).text;
//结束
menuHTML += "'>";
}
//否则为空链接
else
{
//menuHTML += "#";
}
//得到节点的正文
menuHTML += cI.selectNodes("text")(0).text;
if(cI.selectNodes("link")(0).text != "")
{
menuHTML += "</a>";
}
//将menuHTML设置添加到HTML字符串
HTML += menuHTML;
HTML += "</td></tr>";
//得到该节点的属性值<span
HTML += "<tr><td>";
HTML += "<div id='"+cI.getAttribute("id")+"' ";
if(cI.getAttribute("lv") != "1" && cI.getAttribute("lv") == "2")
{
HTML += " style='display:none'";
}
HTML += ">/n";
HTML += "<table width=100% border=0 cellpadding=0 cellspacing=0 style='font-size:12px'>";
for(var i=0; i<nodes.length; i++)
{
var tempImg = "";
tempImg += blank;
if(nodes(i).nodeName == "tree")
{
space += tempImg;
readTree(nodes(i));
space = "";
}
else if(nodes(i).nodeName == "node")
{
space += tempImg;
readNode(nodes(i));
}
}
HTML += "</table></div></td></tr>/n";
return;
}
//读Node节点
function readNode(cI)
{
var nodeHTML = space;
nodeHTML += blank;
//设置超级链接
nodeHTML += "<a href='";
//得到连接地址
nodeHTML += cI.selectNodes("link")(0).text;
//目标
if(cI.selectNodes("target")(0).text != "")
nodeHTML += "' target='"+cI.selectNodes("target")(0).text;
//得到节点标题
nodeHTML += "' title='";
nodeHTML += cI.selectNodes("title")(0).text;
//结束
nodeHTML += "'>";
//得到节点的正文
nodeHTML += cI.selectNodes("text")(0).text;
nodeHTML += "</a><br>/n";
HTML += nodeHTML;
//HTML += "<div id='"+cI.getAttribute("id")+"'>";
space = "";
return;
}
//读Tree节点
function readTree_firefox(cI)
{
var nodes = cI.childNodes;
var menuHTML = space;
var pdf_link = "standardPDF";
HTML += "<tr><td height=24";
if(cI.getAttribute("lv") == "1")
{
HTML += " bgcolor=#c8d6f1";
}else if(cI.getAttribute("lv") == "2")
{
HTML += " bgcolor=#dfe8f7";
}
//点击菜单事件,调用divshow(vid)函数
HTML += " onclick=javascript:divshow('"+cI.getAttribute("id")+"');";
HTML += " style='cursor:pointer'> ";
for(var j=0; j< cI.getAttribute("lv")-1; j++) {HTML += " "; }
menuHTML += blank;
//得到超级链接
//如果该节点的连接属性不为空,则连接
var cI_text = cI.getElementsByTagName("text")[0].textContent;
var cI_target = cI.getElementsByTagName("target")[0].textContent;
var cI_title = cI.getElementsByTagName("title")[0].textContent;
var cI_link = cI.getElementsByTagName("link")[0].textContent;
if(cI_link != "")
{
menuHTML += "<a href='" +ShareFileUrl+ pdf_link + "/";
menuHTML += cI_link;
menuHTML += "'";
//目标
if(cI_target != "")
{
menuHTML += " target='" + cI_target;
menuHTML += "'";
}
//点击菜单事件,调用divshow(vid)函数
//menuHTML += " onclick=javascript:divshow('"+cI.getAttribute("id")+"');";
//得到节点标题
menuHTML += " title='";
menuHTML += cI_title;
//结束
menuHTML += "'>";
}
//否则为空链接
else
{
//menuHTML += "#";
}
//得到节点的正文
menuHTML += cI_text;
if(cI_link != "")
{
menuHTML += "</a>";
}
//将menuHTML设置添加到HTML字符串
HTML += menuHTML;
HTML += "</td></tr>";
//得到该节点的属性值<span
HTML += "<tr><td>";
HTML += "<div id='"+cI.getAttribute("id")+"' ";
if(cI.getAttribute("lv") != "1" && cI.getAttribute("lv") == "2")
{
HTML += " style='display:none'";
}
HTML += ">/n";
HTML += "<table width=100% border=0 cellpadding=1 cellspacing=0 style='font-size:12px'>";
for(var i=0; i<nodes.length; i++)
{
var tempImg = "";
tempImg += blank;
if(nodes[i].nodeName == "tree")
{
space += tempImg;
readTree_firefox(nodes[i]);
space = "";
}
else if(nodes[i].nodeName == "node")
{
space += tempImg;
readNode_firefox(nodes[i]);
}
}
HTML += "</table></div></td></tr>/n";
return;
}
//读Node节点
function readNode_firefox(cI)
{
var nodeHTML = space;
nodeHTML += blank;
//设置超级链接
/*nodeHTML += "<a href='";
//得到连接地址
nodeHTML += cI.selectNodes("link")(0).text;
//目标
if(cI.selectNodes("target")(0).text != "")
nodeHTML += "' target='"+cI.selectNodes("target")(0).text;
//得到节点标题
nodeHTML += "' title='";
nodeHTML += cI.selectNodes("title")(0).text;
//结束
nodeHTML += "'>";
//得到节点的正文
nodeHTML += cI.selectNodes("text")(0).text;
nodeHTML += "</a><br>/n";
HTML += nodeHTML;
//HTML += "<div id='"+cI.getAttribute("id")+"'>";
space = "";
*/
return;
}
//操作对象的显示还是隐藏效果
function divshow(vid)
{
var divObj = document.getElementById(vid);
if(divObj.style.display == "none")
{
divObj.style.display = "block";
}
else
{
divObj.style.display = "none";
}
return;
}
后台取得标准文档字符串代码
public void getStandarXml() throws Exception{
try{
response.setContentType("text/xml;charset=UTF-8");//让response以xml的形式进行请求
StandarXml standarxml = standarDocsManager.getStandarXML();
BufferedWriter wd = new BufferedWriter(new OutputStreamWriter(response.getOutputStream(), HTTP.UTF_8));
wd.write(standarxml.getStandarxml());//将xml写到前台
wd.flush();
}catch(Exception e){
e.printStackTrace();
}
}
相关推荐
好了,通过第三章的学习,我们已经了解了一些XML和DTD的基本术语,但是我们还不知道怎样来写这些文件,需要遵循什么样的语法,在下一章,将重点介绍有关撰写XML和DTD文档的语法。 第四章 XML语法 七.DTD的语法...
第一类,ie祖宗: js 提供用于创建 Automation对象的方法,new ActiveXObject(“Microsoft.XMLDOM”) ; 第二类:firefox,opera:用构造函数 DOMParser()实例化DOMParser对象,解析xml文本,并返回xml Document对象...
了解AJAX,Ajax的工作原理,AJAX包含的技术 AJAX:(Asynchronous JavaScript and XML)并不是一项新技术,其实是多种技术的综合,包括Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest. 服务器端语言:服务器需要...
9.2.3 Mozilla中XMLDOM支持 9.2.4 XMLDOM实例 9.3 XPath 9.3.1 XPath概述 9.3.2 IE中的XPath支持 9.3.3 Mozilla中的XPath支持 9.4 XSLT 9.4.1 XSLT概述 9.4.2 IE中的XSLT支持 9.4.3 MozilIa中XSLT...
7.6.2 通过Microsoft.XMLDOM调用Web Service 291 7.6.3 XMLHTTP POST调用Web Service 293 7.6.4 SOAP调用Web Service 293 7.7 WinForm如何调用Web Service 295 7.7.1 .NET的WinForm调用Web Service 295 7.7.2 手动...
7.6.2 通过Microsoft.XMLDOM调用Web Service 291 7.6.3 XMLHTTP POST调用Web Service 293 7.6.4 SOAP调用Web Service 293 7.7 WinForm如何调用Web Service 295 7.7.1 .NET的WinForm调用Web Service 295 7.7.2 手动...
同时我还将展示,如何使用JavaScript脚本和Dom接口,来为网页创建一个表格 .将ajax请求的数据显示到该表格内. 本次的ajax实例效果中请求的服务端网页依然是:Web_ajax.Asp 该网页使用了Asp输出xml技术.如果你还...
19.12 JavaScript读取自身文件内的XML 19.13 将XML文件绑定到table 19.14 使用JavaScript加载XML文件 19.15 动态加载JavaScript文件 19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 ...
19.12 JavaScript读取自身文件内的XML 19.13 将XML文件绑定到table 19.14 使用JavaScript加载XML文件 19.15 动态加载JavaScript文件 19.16 防止JavaScript文件被其他站直接引用 19.17 检查机器是否安装Word 19.18 ...
AJAX:(Asynchronous JavaScript and XML)并不是一项新技术,其实是多种技术的综合,包括Javascript、XHTML和CSS、DOM、XML和XMLHttpRequest. •服务器端语言:服务器需要具备向浏览器发送特定信息的能力。Ajax与...
选择器速度提升 选择器的速度大幅度提高了,下表为jQuery1.1.2和1.1.3的选择器速度对比,提高了8倍多 Browser jQuery 1.1.2 jQuery 1.1.3 % Improvement IE 6 4890ms 661ms 740% Firefox 2 5629ms 567...
可以让你在你的网页中使用ajax技术实现,读取,添加,修改,删除数据的操作.也许你是只老鸟对我写的这些不屑一顾,但我还是希望你能看 下该教程中演示的一些例子,没准会有地方吸引你! 下面我们要做的有2点.第1...