關於XML解析的常用方式

2021-07-28 04:47:26 字數 2675 閱讀 9234

關於xml解析的方式(個人喜愛的方式,有些不常用的就不寫了

需要的jar包 dom4j / jaxen

xml示例(該檔案放置於src目錄下)

<?xml version="1.0" encoding="utf-8"?>

東城區西城區

和平區河東區 石家莊

衡水

1.獲取結點的屬性

saxreader reader = new saxreader();

inputstream input = reader.getclass().getclassloader().getresourceasstream("xml.xml");

document doc = reader.read(input);

listprovincenameattributelist = doc.selectnodes("//province/@name");

2.根據結點名稱獲取結點屬性

saxreader reader = new saxreader();

inputstream input = reader.getclass().getclassloader().getresourceasstream("xml.xml");

document doc = reader.read(input);

listeles = doc.selectnodes("//province");

for(element ele :eles)

3.解析有命名空間的xml  (

就是帶xmlns="***"的xml)

4.一些老方法,jdk自帶

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

documentbuilder db = dbf.newdocumentbuilder();

document doc = db.parse(way4.class.getclassloader().getresourceasstream("xml.xml"));

element root = doc.getdocumentelement();

nodelist province = root.getelementsbytagname("province");

for(int i = 0 ; i

5.構建xml檔案

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

documentbuilder builder = factory.newdocumentbuilder();

document document = builder.newdocument();

element bookstore = document.createelement("bookstore");

element book = document.createelement("book");

book.setattribute("id", "1");

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

name.settextcontent("安徒生童話");

element author = document.createelement("author");

author.settextcontent("安徒生");

element price = document.createelement("price");

price.settextcontent("49");

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

transformer tf = tff.newtransformer();

tf.setoutputproperty(outputkeys.indent, "yes");

outputstream dest = new fileoutputstream(new file("檔案路徑"));

tf.transform(new domsource(document), new streamresult(dest ));

6.還有一些方式,以後再補充,睡覺

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...

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

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