分享
 
 
 

JDOM+JSP+JAVABEAN的一个例子(二)

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

用做示例的XML文件如下:exampleA.xml

<?xml version="1.0" encoding="GB2312"?>

<bookList>

<book hot1="true">

<author>王五</author>

<name>Java编程入门</name>

<publishDate>2002-6-6</publishDate>

<price amount="15.00" currency="USD">50.0</price>

<price amount="7.75" currency="GBP" />

<price amount="30000.00" currency="MXP" />

<add sku="123456">add</add>

<attribute sku="123456" sf234="123456" />

<add sku="123456">add</add>

<attribute sku="123456" sf234="123456" />

</book>

<book>

<name>XML在Java中的应用</name>

<author>李四</author>

<publishDate>2002-9-16</publishDate>

<price amount="15.00" currency="USD" />

<price amount="7.75" currency="GBP" />

<price amount="30000.00" currency="MXP" />

</book>

</bookList>

<?xml-stylesheet href="bookList.html.xsl" type="text/xsl"?>

接下来就是在jsp中来调用这两个javabean实现对XML的操作,jsp文件的代码如下:

<%@ page contentType="text/html; charset=gb2312" %>

<%@ page import="org.jdom.*" %>

<%@ page import="org.jdom.output.*" %>

<%@ page import="org.jdom.input.*" %>

<%@ page import="java.io.*" %>

<%@ page import="java.util.*" %>

<%@ page import="XML.*" %>

<%

//xml文件的路径(绝对路径)

String fileName="exampleA.xml";

String aa=getServletContext().getRealPath("/")+"jdom\\";

String trace=aa+fileName;

//初始化读写的bean

XML.readXML readXmlBean = new XML.readXML();

XML.writeXML writeXmlBean = new XML.writeXML();

//从xml文件中得到相关数据

Document doc;

readXmlBean.readXML(trace);

doc=readXmlBean.getXmlDoc();

//加入一条处理指令

ProcessingInstruction pi = new ProcessingInstruction

("xml-stylesheet","href=\"bookList.html.xsl\" type=\"text/xsl\"");

doc.addContent(pi);

//得到根元素

Element root = doc.getRootElement();

//得到根元素所有子元素的集合

java.util.List books = root.getChildren();

//得到第一个book元素

Element book = (Element)books.get(0);

//为第一本书添加一条属性

Attribute a = new Attribute("hot1","true");

book.setAttribute(a);

//得到指定的字元素

Element author = book.getChild("author");

//将作者改为王五

author.setText("王五");

//得到指定的字元素

Element price = book.getChild("price");

//修改价格

price.setText(Float.toString(50.0f));

//叠代显示所有元素

Iterator it = books.iterator();

while (it.hasNext()) {

Element e = (Element) it.next();

out.println(e.getChild("name").getTextTrim()+"<br>");

List priceElements = e.getChildren("price");

Iterator it2 = priceElements.iterator();

while (it2.hasNext()) {

Element pe = (Element) it2.next();

out.println(pe.getAttributeValue("currency")+"<br>");

out.println(pe.getAttributeValue("amount")+"<br>");

}

}

//指令操作

String target = pi.getTarget();

String data = pi.getData();

String type = pi.getValue("type");

out.println(target+"<br>"+data+"<br>"+type+"<br>");

//删除属性

book.removeAttribute("hot");

//删除指令

doc.removeContent(pi);

//新增节点

Element add = new Element("add");

a= new Attribute("sku","123456");

add.setAttribute(a);

add.addContent("add");

book.addContent(add);

//没有内容只有属性的节点

Element attr = new Element("attribute");

a= new Attribute("sku","123456");

attr.setAttribute(a);

a= new Attribute("sf234","123456");

attr.setAttribute(a);

book.addContent(attr);

//删除节点

book.removeContent(attr);

book.removeContent(add);

//写入XML文件

writeXmlBean.writeXML(doc,trace);

%>

这个例子里包括了一般的增加、删除、修改节点和属性和指令以及显示XML数据等一般的XML文件操作。如果只是纯粹的显示数据的话建议把所有的取数据操作到放到javabean里去,jsp页面只是显示一下结果,这样可以提高运行的速度,减少出错的概率:)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有