ajax分页显示

xiaoxiao2022-10-04  152

1.获得dom(document)的方式? 答:SAXBuilder builder = new SAXBuilder(); this.dom = builder.build(repage.ServXml.class.getResource("news.xml")); ServXml.java所在的路径和news.xml所在的路径一致,通过反射机制加载news.xml文件信息 测试源代码: public class Test { public static void main(String []args){ Document dom=null; SAXBuilder builder = new SAXBuilder(); try { //加载与ServXml.java在同一路径下的文件news.xml dom = builder.build(repage.ServXml.class.getResource("news.xml")); } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.print("news.size():"+dom.getRootElement().getChildren().size()); }}2.以下为Servlet处理输出xml格式的文本信息的代码: Document doc = new Document(); response.setContentType("application/xml");//输出为范式良好的XML文档 .................. ...组织document... .................. XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("ISO8859-1")); outputter.output(doc,response.getWriter()); 输出文本格式如下: <list> <currentPage>当前页数</currentPage> <totalPage>总页数</totalPage> <newslist> <news id="书籍序号1"> <title>标题1</title> <submittime>作者1</submittime> </news> <news id="书籍序号2"> <title>标题2</title> <submittime>作者2</submittime> </news> </newslist> </list>3.Ajax接收获取的xml文本,解析以该文本: var doc=xml_httpRequest.responseXML; var currentPage=doc.getElementsByTagName("currentPage")[0].firstChild.data;//从xml文本读-当前页标 var totalPage=doc.getElementsByTagName("totalPage")[0].firstChild.data;//从xml文本读取-总页数 //读取书籍列表, var newslist=doc.getElementsByTagName("news"); for(var i=0;i<newslist.length;i++){ var news=newslist[i]; var id=news.getAttribute("id"); var title=(news.childNodes[0].firstChild==null)?"":news.childNodes[0].firstChild.data; var author=(news.childNodes[1].firstChild==null)?"":news.childNodes[1].firstChild.data; } (a)getElementsByTagName:返回的是一个标签组成的数组 例1:var doc=xml_httpRequest.responseXML; var newslist=doc.getElementsByTagName("news");//返回由多个news标签组成的数组 (b)数组名[i]: 得到第i个标签 例1:var doc=xml_httpRequest.responseXML; var newslist=doc.getElementsByTagName("news");//返回由多个news标签组成的数组 var news=newslist[0];//得到第1个标签news (c)数组名[i].firstChild.data:得到标签数组内的第i个标签内的文本 例1:var currentPage=doc.getElementsByTagName("currentPage")[0].firstChild.data (d) news.childNodes[i].firstChild.data:得到一个标签news的第i个子标签间的文本 例2: <news id="书籍序号1"> <title>标题1</title> <submittime>作者1</submittime> </news> 具体过程如下: var newslist=doc.getElementsByTagName("news");//返回由多个news标签组成的数组 var news=newslist[0];//得到第1个标签news var title=news.childNodes[0].firstChild.data;//得到一个标签内的第1个子标签间的文本
转载请注明原文地址: https://www.6miu.com/read-4978008.html

最新回复(0)