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;
});
}
});
}
<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;
});
}
});
}
相关文章推荐
- jQuery加载及解析XML文件的方法实例分析
- jQuery+ajax读取并解析XML文件的方法
- ie中jQuery无法解析xml文件的解决方案[转帖]
- jQuery 行级解析读取XML文件(附源码)
- JQuery -- Jquery 中的Ajax, Jquery解析xml文件
- 【转】jQuery行级解析读取XML文件
- jQuery行级解析读取XML文件(附源码)
- jquery解析xml文件
- JQuery -- Jquery 中的Ajax, Jquery解析xml文件
- ie中jQuery无法解析xml文件的解决方案
- jquery解析XML字符串或XML文件的方法
- Jquery解析XML文件
- jquery解析XML字符串和XML文件的方法说明
- ie中jQuery无法解析xml文件的解决方案
- jQuery解析xml文件,使用get方法实现省市县三级联动下拉框
- ie中jQuery无法解析xml文件的解决方案
- jQuery 解析xml文件
- jquery 解析xml文件
- jQuery学习之八-----jQuery解析xml文件(摘录)
- jquery解析XML字符串和XML文件的方法说明