一:通過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...