XML幾種解析方式

2021-07-08 13:26:02 字數 4401 閱讀 1235

一:通過dom解析讀取檔案

documentbuilde***ctory factory = documentbuilde***ctory.newinstance();

documentbuilder builder = factory.newdocumentbuilder();

document doc = builder.parse(new file("e:"+file.separator+"people.xml"));

nodelist list = doc.getelementbytagname("linkman");

for(int i=0

;i element e = (element)list.item(i);

system.out

.println("姓名:"+e.getelementbytagname("name").item(0).getfirstchild().getnodevalue());

system.out

.println("郵件:"+e.getelementbytagname("email").item(0).getfirstchild().getnodevalue());

}

二:通過dom建立xml檔案
documentbuilde***ctory factory = documentbuilde***ctory.newinstance();

documentbuilder builder = factory.newdocumentbuilder();

document doc = builder.newdocument();//建立文件

element addresslist = doc.createelement("addresslist");

element linkman = doc.createelement("linman");

element name = doc.createelement("name");

element email = doc.createelement("email");

//設定文件中節點關係

//文件節點關係設定完畢

//準備傳輸工作

transforme***ctory factory = transforme***ctory.newinstance();

transformer trans = factory.newtransformer();

trans.setoutputproperty(outputkeys.encoding,"gbk");//設定處理中文格式,

//建立輸出文件

domsourse sourse = new domsourses(doc);

//建立文件要輸出到的位址

streamresult result = new streamreslut(new file("e:"+file.separator+"people.xml"));

//利用transfomer實現建立

trans.transformer(sourse,reslut);

三:使用jdom解析xml檔案

saxbuilder builder = new saxbuilder();

document doc = builder.build(new file("e:"+file.separator+"people.xml"));

element root = doc.getrootelement();

list list = root.getchildren("linkman");

for(int i=0

;ielement element = (element)list.get(i);

string name = element.getchildtext("name");

string id = element.getchild("name").getattributevalue("id");

string email = element.getchildtext("eamil");

system.out

.pritnln("姓名:"+name+",id="+id);

system.out

.println("email:"+email);

四:使用jdom生成xml檔案

1:設定好文件

2:利用xmloutputter實現輸出

element addresslist = new element("addresslist");

element linkman = new element("linkman");

element name = new element("name");

element email = new element("email");

attribute id = new attribute("id");

document doc = new document(addresslist);

name.settext("boy_qiang");

email.settext("[email protected]");

addresslist.addcontent(linkman);

linkman.addcontent(name);

linkman.addcontent(email);

//到目前為止,文件以及節點關係已設定好

xmloutputter output = new xmloutputter();

output.setformat(output.getformat().setencoding("gbk"));

output.output(doc,new fileoutputstream(new file("e:"+file.separator+"people.xml")));

}五:利用dom4j完成xml檔案解析

利用saxreader;

file file = new file("e:"+file.separator+"people.xml");

saxreader reader = new saxreader();

document doc = reader.read(file);

element root = (element)doc.getrootelement();

iterator it = root.elementiterator();//關鍵步驟

while(it.hasnext())

五:利用dom4j完成xml檔案生成

利用saxreader;

file file = new file("e:"+file.separator+"people.xml");

saxreader reader = new saxreader();

document doc = reader.read(file);

element root = (element)doc.getrootelement();

iterator it = root.elementiterator();//關鍵步驟

while(it.hasnext())

六:利用dom4j完成xml檔案生成

1:設定文件

2:用outputformat,xmlwriter實現輸出

document doc = documenthelper.createdocument();

element addresslist = doc.addelement("addresslist");

element linkman = addresslist.addelement("linkman");

element name = linkman.addelement("name");

element eamil = linkman.addelement("email");

name.settext("boy_qiang");

email.settext("[email protected]");

文件已經建立好等待輸出

outputformat out = outputformat.createprettyprint();

out.setenconding("gbk");

xmlwriter write = new xmlwriter(new fileoutputstream(new file("e:"+file.separator+"peopple.xml")),out);

write.write(doc);

解析XML的幾種方式 DOM SAX PULL

解析器讀入整個文件,然後構建乙個主流記憶體的樹結構,然後 就可以使用dom介面來操作這個樹結構。優點 缺點 適用於 一旦解析了文件還需多次訪問這些資料 硬體資源充足 記憶體,cpu dom解析步驟 建立解析器工廠 獲得解析器工廠 接受乙個xml文件作為輸入引數名,並得到乙個xml的文件物件 docu...

XML解析方式

在開發中編寫xml檔案中,有些內容不想讓xml解析器解析執行,而是當作原始內容處理,遇到此種情況,可以將這些內容放在 cdata 區域內,對於 cdata 區域內的內容,xml解析器不會進行處理,而是原封不動的輸出。語法 需要處理的內容 xml約束 約束 xml結構的條約 常用的約束技術 dtd約束...

解析XML檔案(SAX方式解析XML)

解析xml檔案 sax方式解析xml 對xml檔案解析有四種方法 dom sax jdom dom4j 現著重講一下sax解析xml檔案。1 通過一定的方式獲取檔名 獲得檔案路徑 string xmlfilepath ticanserviceaccess.getsystemsupportservic...