JDOM+JSP+JAVABEAN的一個例子(二) (轉)
用做示例的如下:exampleA.xmlmicrosoft-com::office" />
接下來就是在中來這兩個javabean實現對XML的操作,jsp檔案的程式碼如下:
//xml檔案的路徑(絕對路徑)
String fileName="exampleA.xml";
String aa=getContext().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 = 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()+"
");
List priceElements = e.getChildren("price");
Iterator it2 = priceElements.iterator();
while (it2.hasNext()) {
Element pe = (Element) it2.next();
out.println(pe.getAttributeValue("currency")+"
");
out.println(pe.getAttributeValue("amount")+"
");
}
}
//指令操作
String target = pi.getTarget();
String data = pi.getData();
String type = pi.getValue("type");
out.println(target+"
"+data+"
"+type+"
");
//刪除屬性
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頁面只是顯示一下結果,這樣可以提高執行的速度,減少出錯的機率:)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-984588/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nginx querystring 轉寫的兩個例子Nginx
- expdp一個例子
- SAP CRM WebClient UI cross component跳轉的一個具體例子WebclientUIROS
- 一個簡單的「IOC」例子
- 一個複雜的json例子JSON
- es6 class進階【一個將class轉原型物件的例子】原型物件
- 一個小例子搞懂redux的套路Redux
- 擼一個簡單的MVVM例子MVVM
- 一個例子看懂call,applyAPP
- 從一個例子看Go的逃逸分析Go
- 一個最簡單的 Github workflow 例子Github
- 一個學習 Koa 原始碼的例子原始碼
- 用一個通俗的例子講清楚APIAPI
- 一個查詢不走索引的例子索引
- 一個簡單的netty通訊的例子Netty
- AFL++ Fuzz一個libexif例子
- SAP Spartacus SplitViewComponent Migration 的一個具體例子View
- WebRTC:一個視訊聊天的簡單例子Web單例
- 使用 Angular Transfer State 的一個具體例子Angular
- RxJS CombineLatest operator 的一個具體使用例子JS
- Angular Reactive Form 的一個具體使用例子AngularReactORM
- 用個通俗的例子講一講死鎖
- 精講Flutter官網的第一個例子Flutter
- 一個簡單的生活例子,感受TRIZ的魅力!
- CompletableFuture 的 20 個例子
- 轉一篇OpenSSL的例子:簡單的TLS伺服器TLS伺服器
- JUnit概述及一個簡單例子單例
- 通過一個實際的例子學習 combineLatest
- 使用javap分析Java位元組碼的一個例子Java
- c++ io條件狀態 的一個例子C++
- 一個被寫爛的redux計數小例子Redux
- 一個簡單的例子瞭解async跟defer
- 一個簡單的例子教會您使用javapJava
- 一個連續動作空間的SAC的例子
- SAP Spartacus SSR 中的 shimming 實現的一個例子
- 透過一個具體的例子理解 npm 的 peerDependencyNPM
- flutter仿boss直聘,一個比較完整的例子(一)Flutter
- ps命令的10個例子
- 從兩個小例子看js中的隱式型別轉換JS型別