導航:首頁 > 編程語言 > java封裝xml

java封裝xml

發布時間:2022-07-06 09:53:46

A. java項目中一般需要用到xml技術的哪些方面

XML的主要作用有兩個方面:數據交換和信息配置。在做數據交換時,XML將數據用標簽組裝成起來,然後壓縮打包加密後通過網路傳送給接收者,接收解密與解壓縮後再從XML文件中還原相關信息進行處理,XML曾經是異構系統間交換數據的事實標准,但此項功能幾乎已經被JSON(JavaScript Object Notation)取而代之。當然,目前很多軟體仍然使用XML來存儲配置信息,我們在很多項目中通常也會將作為配置信息的硬代碼寫在XML文件中,Java的很多框架也是這么做的,而且這些框架都選擇了dom4j作為處理XML的工具,因為Sun公司的官方API實在不怎麼好用。
補充:現在有很多時髦的軟體(如Sublime)已經開始將配置文件書寫成JSON格式,我們已經強烈的感受到XML的另一項功能也將逐漸被業界拋棄。

B. 請教java 解析封裝,xml 怎麼處理

下面提供了XML解析成實體類,以及實體類轉換成xml的方法。
public class SwitchXML {

private XStream xStream = new XStream();

private String xmlPath = "D:/data.xml";

// 1. obj -> xml(object類型轉換為xml類型)
public String printXML(User user) {
System.out.println("obj -> xml");
String xml = xStream.toXML(user);
System.out.println(xml);
return xml;
}

// 2. xml->obj(xml類型轉換為object類型,並列印)
public void printObj(String xml) {
System.out.println("xml -> obj");
User u = (User) xStream.fromXML(xml);
System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime());
}

// 3. 將object類型轉換為xml類型,並寫入XML文件(其他格式也可以,比如txt文件)
public void writerXML(User user) {
try {
FileOutputStream fs = new FileOutputStream(xmlPath);
xStream.toXML(user, fs);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

// 4. 讀取XML文件,載入進相應Object類型
public void readerXML() {
User user = new User();
FileInputStream fis = null;
try {
fis = new FileInputStream(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
xStream.fromXML(fis, user);
// 列印對象信息
System.out.println(user.toString());
// 列印對象的屬性值
System.out.println(user.getUserName() + "-" + user.getPassWord() + "-"
+ user.getRegisteredTime());
}

public static void main(String[] args) {
// 用戶名
String username = "admin";
// 密碼
String password = "admin";
// 注冊時間
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String registeredtime = format.format(now);

User user = new User(username, password, registeredtime);
SwitchXML switchXML = new SwitchXML();

// 1. object類型轉換為xml類型,在控制台列印
String xml = switchXML.printXML(user);
System.out.println("---------------------");
// 2. xml類型轉換為object類型,在控制台列印
switchXML.printObj(xml);
System.out.println("---------------------");
// 3. 將object類型轉換為xml類型,並寫入XML文件
switchXML.writerXML(user);
System.out.println("---------------------");
// 4. 讀取XML文件,載入進相應Object類型
switchXML.readerXML();

}

C. java的xml的解析方式有什麼,他們的解析流程是怎麼樣的,有什麼區別

答:4種。(或者說是兩種,因為JDOM和DOM4J是DOM的兩個特殊情況)

1.SAX解析
解析方式是事件驅動機制!

SAX解析器,逐行讀取XML文件解析,每當解析到一個標簽的開始/結束/內容/屬性時,觸發事件。

可以在這些事件發生時,編寫程序進行相應的處理。

優點:

分析能夠立即開始,而不是等待所有的數據被處理。

逐行載入,節省內存,有助於解析大於系統內存的文檔。

有時不必解析整個文檔,它可以在某個條件得到滿足時停止解析。

缺點:

1.單向解析,無法定位文檔層次,無法同時訪問同一個文檔的不同部分數據(因為逐行解析,當解析第n行時,第n-1行)已經被釋放了,無法再對其進行操作)。

2. 無法得知事件發生時元素的層次, 只能自己維護節點的父/子關系。

3. 只讀解析方式, 無法修改XML文檔的內容。

2. DOM解析
是用與平台和語言無關的方式表示XML文檔的官方W3C標准,分析該結構通常需要載入整個 文檔和內存中建立文檔樹模型。程序員可以通過操作文檔樹, 來完成數據的獲取 修改 刪除等。

優點:

文檔在內存中載入, 允許對數據和結構做出更改。訪問是雙向的,可以在任何時候在樹中雙向解析數據。

缺點:

文檔全部載入在內存中 , 消耗資源大。

3. JDOM解析
目的是成為Java特定文檔模型,它簡化與XML的交互並且比使用DOM實現更快。由於是第一 個Java特定模型,JDOM一直得到大力推廣和促進。

JDOM文檔聲明其目的是「使用20%(或更少)的精力解決80%(或更多)Java/XML問題」 (根據學習曲線假定為20%)

優點:

使用具體類而不是介面,簡化了DOM的API。

大量使用了Java集合類,方便了Java開發人員。

缺點:

沒有較好的靈活性。

性能不是那麼優異。

4. DOM4J解析
它是JDOM的一種智能分支。它合並了許多超出基本XML文檔表示的功能,包括集成的XPath 支持、XML Schema支持以及用於大文檔或流化文檔的基於事件的處理。它還提供了構建文檔表示的選項, DOM4J是一個非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一 個開放源代碼的軟體。如今你可以看到越來越多的Java軟體都在使用DOM4J來讀寫XML。

目前許多開源項目中大量採用DOM4J , 例如:Hibernate。

D. java中的封裝學習難不難

java中的封裝就是對某些邏輯進行再次重寫。達到重用的狀態,提高開發速度和能力。我們也可以從下面幾個方面進行學。

第一:先學習Java的核心庫(JavaSE)

JavaSE的內容包括:環境搭建、基礎語法、面向對象、數組、集合、常用類、IO流、反射機制、網路編程……..

第二:MySQL資料庫

搞定一門資料庫相關的課程,例如:MySQL、Oracle,搞定一個就可以了,目前互聯網公司,例如:京東、阿里等,他們都在使用MySQL,所以建議大家學習MySQL資料庫,小巧輕盈,免費。

由於互聯網公司的項目訪問量比較大,所以一般會搭建資料庫的集群,可以一個資料庫不夠,所以需要搭建資料庫集群,為了應付高並發。(搭建的比較多的時候,免費就很重要了。)

第三:WEB前端

以後從事Java開發,從事JavaEE開發,主要開發的系統結構是B/S結構的,B指的是Browser,S指的是Server。要開發這種系統,B端要會,S端也要精通。WEB前端的學習就是學習B端技術。

包括:HTML 、CSS、JavaScript(JS)、jQuery框架(底層對JS進行了封裝)…

第四:JavaWEB

WEB後端其實可以是很多種不同的編程語言,例如:php、C、C++、Java,他們都可以進行WEB後端的開發,我們既然選擇了比較火爆的Java,那麼我們學習的後端一定是基於Java語言實現的。

包括:Servlet、Filter、Jsp、EL、JSTL、MVC架構模式、資料庫連接池(阿里巴巴的Druid連接池)、代理模式(動態代理)。另外後端學習了之後,還要學習一個非同步編程技術AJAX。(完成網頁的局部刷新,AJAX其實不屬於後端,是前端瀏覽器上的程序。)

學習到這里為止,表示Java基本/基礎的技術已經學完了。但是這些最基層的技術在實際的開發中不會使用的,一般為了開發效率,都會使用大量的提前封裝好的框架。

第五:最好能夠停留下來,做一個項目。

這個項目最好能將之前所學全部串起來。(對以前的知識點進行鞏固。)

這個項目最好是基於:Servlet + Jsp+AJAX+jQuery+MySQL….

在這個項目的開發過程中:大家一定要記住,目前比較好的項目自動構建工具:Maven是一定要精通的。還有一個就是團隊協作開發:Git/SVN是一定要會用的。(目前使用Git比較多一些。)

第六:學習高級框架

Spring、SpringMVC、MyBatis(持久層框架,這個框架互聯網公司使用比較多,因為互聯網項目需要進行SQL優化,MyBatis的SQL優化很方便,所以大部分都是使用MyBatis)

Struts2(很少使用了,使用這個的肯定是很老的項目)、Hibernate(傳統企業,還有政府等可能會使用Hibernate。)

SpringBoot(新項目大部分使用的都是boot了。所以在項目中遇到還在使用SSM的一般都是遺留項目。)

當你走到這里之後,基本上你可以出山了。(去找工作應該問題不大,但前提是你學得好。學習的深度夠了,廣度夠了。)

第七:最好能有一個大型項目是使用框架來完成的。

SpringBoot做一個項目。

Spring SpringMVC MyBatis做一個項目。

這個項目最好是找幾個人搭夥做一下。體驗一下團隊協作。(尤其是使用一些協作的工具。怎麼溝通,怎麼寫日報,怎麼開會,怎麼使用Git,等等….)

第八:如果你的薪資想達到15K的話,你可能需要還要學習一些分布式相關的一些技術。

能夠應付高並發的一些技術,例如:分布式框架Dubbo、SpringCloud、MQ、Nginx、Redis…..

最後在啰嗦一下,一定要形成自己的編程思想。

編程思想的形成很難。需要大量代碼的堆積才可以。怎麼形成編程思想呢?

千萬別死抄代碼。不要像行屍走肉般的抄代碼,沒有用。只能提高指法速度,無法形成編程思路。

1、打好基礎是重中之重

基礎部分可能很枯燥,但是一定要耐心堅持下去。因為打基礎好比是在造輪子造汽車,沒有打好基礎在後面的學習就好比走路,可以說後面遇到的百分之七八十的問題都是基礎沒學好造成的。

2、多看官方文檔多讀源碼

一定要看JDK相關類庫、常用框架各種功能的源碼,去了解其底層實現的原理。總的來說這個也是在打基礎的部分,Java基礎非常扎實才能看懂,在我們學習一個類的源碼時,肯定會衍生出其他各種各樣的問題,供我們來了解和學習,這也就是我們下一步學習的目標和方向。慢慢的,我們就會學習更多的知識,並積累更多的經驗。

3、系統性學習,循序漸進

不要急於求成,每個知識點都要看,並且每個知識點都要勤加練習。有的同學在學習過程中覺得這個知識點簡單,就跳著學習,其實這是個很大的問題,知識點細節必須要了解。我們學習Java需要循序漸進,一步一步來,不能操之過急。

4、遇到問題

遇到不會做的問題,當然不能置之不理。先在網上查,目前網路上針對很多問題都有完美的解決方案,如果網上沒有類似的問題,那可能是你犯了什麼小錯誤。也不要在這個問題上花費太多時間,這需要一定的學習技巧。Java中的知識有很強的相關性,有不懂的地方,可以用其他周邊相關知識再回過頭來理解,這樣既不會耽誤學習進度,又能理解自己不懂的地方

1)jvm有很多種,其實jvm是一個標准,sun做的那個叫hotspot,作者就是後來v8的作者lars bak,其他公司也做過jvm,其中做得比較好的有bea的jrockit,其他的包括ibm的r9,apple的jvm等在內,都做得不行,所以jvm主要是整合淘汰掉這些做得不好的jvm(s),整合成一個統一的openjdk。

2)java是典型的oop語言,其執行效率的優化,最早就是lars bak等人從smalltalk等長期優化的經驗中總結出來並apply到hotspot上去滴,而smalltalk在早期apple機上搞出了那種拖拖拽拽就開發出app的做法,後來vc,delphi之類的其實都是抄襲或者說借鑒apple的smalltalk的做法,jobs說微軟從頭到尾都在抄襲apple是空穴來風,這里空穴來風跟王垠使用的空穴來風是一個意思,有趣的是,java的gui並沒有繼承這種搞法,反而對這種拖拖拽拽就作出app的做法批判有加,到今天,其實java的gui都還不能真正做到拖拖拽拽就作出來,問題很多,個人建議對於純java的gui開發,還是以寫代碼為主。

3)jee也是一個或者說是一堆標准,知乎上有些人把maven,jenkins都算做jee是不對滴,jee的標准核心是ejb,其實就是一個xml配置化的java文件,這個標准在4的時候,達到了頂峰狀態,幾乎所有的挨踢大廠都主動支持該標准,之後開始走下坡路,支持的廠越來越少。

4)java和javascript的關系比很多人認為的要密切,javascript裡面的java這四個字母可不是白叫的,比如js的版權和商標都控制在oracle手裡,oracle對於js的支持甚至超過其對java的支持,並且喜歡捆綁銷售,比如jvm裡面就有一個js引擎。

5)jvm裡面除了js engine以外還有一個瀏覽器排版引擎webkit,就是apple safari和google chrome用的那個那個。

6)java支持絕大多數腳本語言,你能叫得上名字的腳本語言,幾乎都可以在jvm上執行,比如常見的js,ruby,python,甚至php,lua,只不過除了js以外你需要找到相關的腳本引擎。

7)spring的版權被控制在vmware手裡,其實spring的那一大堆東西,本質上是一個非標準的jee實現,比如在jee裡面用的inject,在spring裡面就是autowire,當然spring曾經深刻滴影響了jee,所以有些東西比如di標准,是spring影響下制定出來的,所以spring的做法會比較特例一點。

8)maven上的jars數量前兩天突破800萬,其他語言的類庫,排名第二的是npm,大概數量是maven的十分之一,也就是幾十萬,不知道現在突破100萬沒有,然後是gem,也就是ruby那個,大概是十幾萬,下來是python的mole,大概數量級是幾萬,沒突破十萬。

9)java的標準是由一個叫做jcp的組織制定的,所有標准需要經過jcp的執行委員會通過方可執行,jcp幾乎包括了你所知道的絕大多數知名挨踢公司和組織,比如google,apple,ibm,intel,arm,red hat,twitter等,還有一些教育機構,比如我國的北京大學,阿里最近一次申請jcp執行委員會成員資格,似乎投票不通過,最近一次執行委員會新增兩個成員是arm和jetbrains。

10)微軟也曾經是jcp甚至是java的主要貢獻者,但是利益驅使下,想擴展java,從而破壞java跨平台的特性,所以跟sun鬧翻,其本質原因就是想讓客戶寫的java代碼跟windows綁定,sun堅決不同意,鬧翻,今天回頭看這個結果,只能說:雙輸,sun掛了,微軟的ria也離掛不太遠了,silverlight已經放棄了,比起當年ie自帶有jvm的支持來說,那完全就是兩回事。

11)除了微軟以外,jcp還缺少一個重要組織apache,因為apache跟oracle也鬧翻了,oracle似乎並不在乎開源組織,而更在意商業公司的支持。

12)java曾經有一個內置的資料庫,9之後被剝離。

13)j2me是j2se的子集。

14)vert.x作者tim fox最早在vmware做spring時候看到了node.js,萌生出了製作支持多核的node.x的想法,並在離開vmware後加入red hat將其實現,vmware看到後開始耍無賴,claim node.x後來改叫vert.x的版權,不惜跟red hat打官司,後來各方妥協,將其交給eclipse foundation。

15)oracle在收購bea之前,一開始的目標並不是bea和bea的weblogic,而是jboss,但是jboss表現出了極為有種的一面,在oracle收購成功之前,投入了red hat的懷抱,因為都是開源組織,從此jboss成了red hat的一個子部門,oracle收購jboss失敗之後,轉向bea,庄思浩氣死了,但是沒用,最後還是被惡意收購。

16)sun在玩不下去之前最早嘗試接觸的目標是ibm,ibm嫌太貴,放棄之後,被轉手給了oracle。(Java學習交流QQ群:589809992 我們一起學Java!)

17)vert.x的作者tim fox在離開red hat之前曾經發過twitter抱怨,外人比如我們,猜測是因為red hat內部已經有了一個jboss,所以跟vert.x在應用上有了重疊,所以導致tim fox的出走,但是出走之後,red hat答應對vert.x做持續性的戰略投入,所以vert.x core的幾個developers,其實拿的是red hat的工資,但是vert.x的版權並不在red hat手裡,而在eclipse foundation手裡。

18)vert.x的幾個核心開發人員都是google summer of code的導師,每年年初時候會招收在校大學生搞項目。

19)教育機構相關:scala的作者馬丁是德國人,eth的博導,groovy的主要領導人是法國人,jruby背後是東京大學,jboss的作者是法國大學校x的校友,x就是伽羅瓦考不進去的那所大學,伽羅瓦進不了x,所以改讀巴黎高師,tim fox畢業於帝國理工,主席去的那個,netty作者trustin lee是acm銀牌,現在line工作,畢業於sky裡面的延世大學,kotlin是毛子公司jetbrains的作品,看linkedin,很多人畢業自聖彼得堡大學,spring作者rod johnson是悉尼大學的音樂博士,hibernate作者gavin king是澳洲莫那什大學的數學本科畢業生,james gosling這種cmu和calgory的估計爛大街了,sun是斯坦福大學網路的意思,夾帶兩個私貨,aspectj有一個維護小組在mcgill,hbase跟waterloo關系密切。

20)java早期被人認為慢,跟java堅持不用硬體加速渲染有關,死活就是不肯接入directx和opengl,7之後總算開竅,搞了一個圖形引擎接入了directx/opengl。

21)casssandra是facebook做失敗的項目,被貢獻給了apache之後老樹開花。

22)groovy被貢獻給了apache,現在叫做apache groovy,ceylon被貢獻給了eclipse,現在叫做eclipse ceylon。

23)netflix現在是java shop,之前是用.net的。

先想到這么多,有空再寫。

E. java中如何將文件封裝為xml格式

public class XMLBuilder { public static String buildXML(PlayerCount player) {
StringBuilder builder = new StringBuilder();
builder.append("<root>");
builder.append("<server>").append(player.getServerName()).append("</server>");
builder.append("<player_count").append(player.getPlayerCount()).append("</player_count>");
builder.append("</root>");
return builder.toString();
}
}

F. JAVA中我拿到一個LIST 想把它封裝成一個XML文件。怎麼弄具體一點,最好有個例子。謝謝

這是一個用JAVAW3CDOM進行XML操作的例子,包含了查詢、增加、修改、刪除、保存的基本操作。較完整的描述了一個XML的整個操作流程。適合剛入門JAVAXML操作的朋友參考和學習。
假設有XML文件:test1.xml
<?xmlversion="1.0"encoding="GBK"?>
<books>
<book>
<name>哈里波特</name>
<price>10</price>
<memo>這是一本很好看的書。</memo>
</book>
<bookid="B02">
<name>三國演義</name>
<price>10</price>
<memo>四大名著之一。</memo>
</book>
<bookid="B03">
<name>水滸</name>
<price>6</price>
<memo>四大名著之一。</memo>
</book>
<bookid="B04">
<name>紅樓</name>
<price>5</price>
<memo>四大名著之一。</memo>
</book>
</books>
下面是為Test.java
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importorg.w3c.dom.*;
importorg.xml.sax.SAXException;
importjavax.xml.parsers.*;
importjavax.xml.transform.*;
importjavax.xml.transform.dom.DOMSource;
importjavax.xml.transform.stream.*;
importjavax.xml.xpath.*;
publicclassTest{
publicstaticvoidmain(String[]args){
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
ElementtheBook=null,theElem=null,root=null;
try{
factory.(true);

DocumentBuilderdb=factory.newDocumentBuilder();
Documentxmldoc=db.parse(newFile("Test1.xml"));
root=xmldoc.getDocumentElement();

//---新建一本書開始----
theBook=xmldoc.createElement("book");
theElem=xmldoc.createElement("name");
theElem.setTextContent("新書");
theBook.appendChild(theElem);

theElem=xmldoc.createElement("price");
theElem.setTextContent("20");
theBook.appendChild(theElem);
theElem=xmldoc.createElement("memo");
theElem.setTextContent("新書的更好看。");
theBook.appendChild(theElem);
root.appendChild(theBook);
System.out.println("---新建一本書開始----");
output(xmldoc);
//---新建一本書完成----
//---下面對《哈里波特》做一些修改。----
//---查詢找《哈里波特》----
theBook=(Element)selectSingleNode("/books/book[name='哈里波特']",root);
System.out.println("---查詢找《哈里波特》----");
output(theBook);
//---此時修改這本書的價格-----
theBook.getElementsByTagName("price").item(0).setTextContent("15");//getElementsByTagName返回的是NodeList,所以要跟上item(0)。另外,getElementsByTagName("price")相當於xpath的".//price"。
System.out.println("---此時修改這本書的價格----");
output(theBook);
//---另外還想加一個屬性id,值為B01----
theBook.setAttribute("id","B01");
System.out.println("---另外還想加一個屬性id,值為B01----");
output(theBook);
//---對《哈里波特》修改完成。----
//---要用id屬性刪除《三國演義》這本書----
theBook=(Element)selectSingleNode("/books/book[@id='B02']",root);
System.out.println("---要用id屬性刪除《三國演義》這本書----");
output(theBook);
theBook.getParentNode().removeChild(theBook);
System.out.println("---刪除後的XML----");
output(xmldoc);
//---再將所有價格低於10的書刪除----
NodeListsomeBooks=selectNodes("/books/book[price<10]",root);
System.out.println("---再將所有價格低於10的書刪除---");
System.out.println("---符合條件的書有"+someBooks.getLength()+"本。---");
for(inti=0;i<someBooks.getLength();i++){
someBooks.item(i).getParentNode().removeChild(someBooks.item(i));
}
output(xmldoc);
saveXml("Test1_Edited.xml",xmldoc);
}catch(ParserConfigurationExceptione){
e.printStackTrace();
}catch(SAXExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidoutput(Nodenode){//將node的XML字元串輸出到控制台
=TransformerFactory.newInstance();
try{
Transformertransformer=transFactory.newTransformer();
transformer.setOutputProperty("encoding","gb2312");
transformer.setOutputProperty("indent","yes");
DOMSourcesource=newDOMSource();
source.setNode(node);
StreamResultresult=newStreamResult();
result.setOutputStream(System.out);

transformer.transform(source,result);
}catch(){
e.printStackTrace();
}catch(TransformerExceptione){
e.printStackTrace();
}
}

(Stringexpress,Objectsource){//查找節點,並返回第一個符合條件節點
Noderesult=null;
XPathFactoryxpathFactory=XPathFactory.newInstance();
XPathxpath=xpathFactory.newXPath();
try{
result=(Node)xpath.evaluate(express,source,XPathConstants.NODE);
}catch(XPathExpressionExceptione){
e.printStackTrace();
}

returnresult;
}

(Stringexpress,Objectsource){//查找節點,返回符合條件的節點集。
NodeListresult=null;
XPathFactoryxpathFactory=XPathFactory.newInstance();
XPathxpath=xpathFactory.newXPath();
try{
result=(NodeList)xpath.evaluate(express,source,XPathConstants.NODESET);
}catch(XPathExpressionExceptione){
e.printStackTrace();
}

returnresult;
}

publicstaticvoidsaveXml(StringfileName,Documentdoc){//將Document輸出到文件
=TransformerFactory.newInstance();
try{
Transformertransformer=transFactory.newTransformer();
transformer.setOutputProperty("indent","yes");
DOMSourcesource=newDOMSource();
source.setNode(doc);
StreamResultresult=newStreamResult();
result.setOutputStream(newFileOutputStream(fileName));

transformer.transform(source,result);
}catch(){
e.printStackTrace();
}catch(TransformerExceptione){
e.printStackTrace();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
}
}

G. java怎樣封裝為下列格式的xml

StringBuffer results = new StringBuffer();
results.append("<topBeans>");
arriylist1 = searchTop.finddepartment(shiyebu_id);
for (TopBean topBean : arriylist1)
{
results.append("<department>");

results.append("<departmentId>");
results.append(topBean.getDepartmentId());
results.append("</departmentId>");
results.append("<departmentName>");
results.append(topBean.getDepartmentName());
results.append("</departmentName>");

results.append("</department>");
}
results.append("</topBeans>");

Response.setContentType("text/xml");
Response.setHeader("Cache-Control", "no-cache");
Response.setCharacterEncoding("UTF-8");
PrintWriter pw;
pw = Response.getWriter();
pw.write(results.toString());
pw.flush();

H. JAVA 類似QQ的聊天系統,怎麼將聊天的訊息用XML封裝呢

<Context path="/wangxing" docBase="E:\java dev\haha\webapps" reloadable="true" crossContext="true" debug="0" >

結尾請加上/,或者加上</Context>。
即改成<Context path="/wangxing" docBase="E:\java dev\haha\webapps" reloadable="true" crossContext="true" debug="0" />

<Context path="/wangxing" docBase="E:\java dev\haha\webapps" reloadable="true" crossContext="true" debug="0" ></Context>
否則server.xml文件有錯,無法啟動,原因嘛,也就是常見的xml封裝基本問題。

windows下其它不用改,docBase配置的文件路徑可用,這樣Tomcat即可啟動。如果啟動還有異常,請查看tomcat的logs目錄,可能日誌根目錄下有多個日誌文件(.log),一般文件名都帶有日期的,找到剛剛生成且內容不為空日誌文件查看一下即可知異常原因。

I. 用java技術怎麼把xml解析出來並將結果封裝在bean裡面

DOM4J.JAR....例子一找一大堆。。。
初始化一個bean,此時是空的。。。
Document doc = SaxBuileder.build("XML路徑");//大概是這么用,忘得差不多了,網上例子多
然後這個doc可以看成是個集合,用迭代器便利即可。
循環的每次,都可以用鍵值對的形式把XML中對應的ID的VALUE值取出來,然後逐個往你的bean塞進去就可以了

閱讀全文

與java封裝xml相關的資料

熱點內容
自己購買雲主伺服器推薦 瀏覽:419
個人所得稅java 瀏覽:760
多餘的伺服器滑道還有什麼用 瀏覽:189
pdf劈開合並 瀏覽:26
不能修改的pdf 瀏覽:750
同城公眾源碼 瀏覽:488
一個伺服器2個埠怎麼映射 瀏覽:297
java字元串ascii碼 瀏覽:78
台灣雲伺服器怎麼租伺服器 瀏覽:475
旅遊手機網站源碼 瀏覽:332
android關聯表 瀏覽:945
安卓導航無聲音怎麼維修 瀏覽:332
app怎麼裝視頻 瀏覽:430
安卓系統下的軟體怎麼移到桌面 瀏覽:96
windows拷貝到linux 瀏覽:772
mdr軟體解壓和別人不一樣 瀏覽:904
單片機串列通信有什麼好處 瀏覽:340
游戲開發程序員書籍 瀏覽:860
pdf中圖片修改 瀏覽:288
匯編編譯後 瀏覽:491