您的位置:首页 > Web前端 > JQuery

jquery解析XML文件

2011-04-01 23:36 225 查看
第一步:

<package name="ajax" extends="struts-default" namespace="/ajax">
<action name="ajaxXml" class="cn.xue.shavi.webapp.action.SysparamAction" method="ajaxXml"/>
</package>


第二步:

public String ajaxXml() throws IOException {

System.out.println("*****" + name);
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/xml;charset=utf-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out=response.getWriter();
StringBuilder sb=new StringBuilder("<?xml version='1.0' encoding='UTF-8'?><provinces>");
sb.append("<province><xian>");
sb.append("<provinceid>010</provinceid>");
sb.append("<provinceName>北京</provinceName>");
sb.append("<provinceAddress>北京市</provinceAddress>");
sb.append("</xian></province>");
sb.append("<province><xian>");
sb.append("<provinceid>020</provinceid>");
sb.append("<provinceName>上海</provinceName>");
sb.append("<provinceAddress>上海市</provinceAddress>");
sb.append("</xian></province>");
sb.append("</provinces>");
out.print(sb.toString());
out.flush();
out.close();


或者由dom4j生成xml文档

Document document = DocumentHelper.createDocument();//代表整个xml文档
Element rootElement = document.addElement("users"); //代表文档根元素


rootElement.addComment("This is a comment!"); //增加一个注释

for(int i=0;i<5;i++){
Element userElement = rootElement.addElement("user"); //增加一个根元素下的一个user子元素
Element idElement = userElement.addElement("id"); //增加一个user子元素的一个各个user属性子元素
Element nameElement = userElement.addElement("name");
idElement.setText(i + "*"); //文档节点赋值
nameElement.setText("北京" + i);
}


HttpServletResponse response = ServletActionContext.getResponse();//获得客户端的相应的response对象 并设置向客户端输出的格式
response.setContentType("text/xml; charset=utf-8");//客户端的输入格式 和字体
response.setHeader("Cache-Control", "no-cache"); //取消浏览器缓存
PrintWriter out = response.getWriter(); //获取向客户端输出流
OutputFormat format = OutputFormat.createPrettyPrint();//dom4j的输出格式
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter(out, format);


writer.write(document); //把文档格式document写到输出流中out中 返回给客户端
out.flush();
out.close();


return null;
}

第三步:

<select id="set">
<option id="023">广州</option>
<option id="0755">深圳</option>
</select>
<script type="text/javascript">
function aa(){
$.ajax({
url:"ajax/ajaxXml.html",
type: 'POST',
dataType: 'xml',
data: {name:"xuexue"},
timeout: 1000,
error: function(){
alert('Error loading XML document');
},
success: function(xml){
$(xml).find("provinces>province>xian").each(function(){
var provinceId=$(this).children("provinceid").text();
var provinceName=$(this).children("provinceName").text();
var tempOption = document.createElement("option");
tempOption.value = provinceId;
tempOption.text = provinceName;
alert(provinceId);
alert(provinceName);
alert($(this).find("provinceAddress").text());
set.options[set.length]=tempOption;
});
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: