-
怎么看返回值是什么?
查看全部 -
方法的NEW? 和返回到底是什么東西
查看全部 -
創建一個類的對象 調用解析方法解析XML文件 調用創建方法創建XML文件
查看全部 -
生成xml的四種方式的性能對比:SAX > DOM4J > JDOM > DOM
在一個課程測試用例中四種方式的用時(Ms):
DOM:418
SAX:3
JDOM:158
DOM4J:59
DOM/SAX官方自帶:
DOM生成DOM樹加載到內存,方便修改,性能慢。
SAX性能最高,但是不能返回修改便簽中的內容
DOM4J相對綜合最好,應用廣泛查看全部 -
DOM與SAX對比
DOM適合經常修改,SAX不適合修改。
查看全部 -
四種生成xml方式對比
查看全部 -
JDOM方式生成XML文件設置文件格式
1,創建Format對象
????Format format = Format.getCompactFormat();
2,設置換行以及編碼
????format.setIndent("");//若括號中為"\n"則會換兩行
????format.setEncoding("GBK");
3將Format對象作為參數傳進輸出流創建方法中
????XMLOutputter outputer = new XMLOutputter(format);查看全部 -
xml對CDATA進行轉義
Element?title?=?new?Element("title"); CDATA?cdata?=?new?CDATA("上海移動互聯網產業促進中心正式揭牌"); title.addContent(cdata);
查看全部 -
JDOM生成XML根節點
private?void?createXML(){ ?//1.生成一個根節點 ?Element?rss?=?new?Element("rss"); ?//2.為節點添加屬性 ?rss.setAttribute("version","2.0"); ?//3.生成一個document對象 ?Document?document?=?new?Document(rss); ?//4.創建XMLOutputter的對象 ?XMLOutputter?outputer?=?new?XMLOutputter(); ?//5.利用outputer將document對象轉換成xml文檔 ?try?{ ??outputer.output(document,?new?FileOutputStream(new?File("rssnews2.xml"))); ?}?catch?(FileNotFoundException?e)?{ ??e.printStackTrace(); ?}?catch?(IOException?e)?{ ??e.printStackTrace(); ?} }
查看全部 -
//設置是否轉義,默認是true,表示轉義
writer.setEscapeText(false);查看全部 -
private void createXML() {
?//1.創建document對象,代表整個xml文檔
?Document document = DocumentHelper.createDocument();
?//2.創建根節點
?Element rss = document.addElement("rss");
?//3.向rss節點中添加version屬性
?rss.addAttribute("version", "2.0");
?//4.生成子節點及節點內容
?Element channel = rss.addElement("channel");
?Element title = channel.addElement("title");
?title.setText("國內最新新聞");
?//5.設置生成xml的格式
?OutputFormat format = OutputFormat.createPrettyPrint();
?format.setEncoding("GBK");
?//6.生成xml文件
?File file = new File("rssnews.xml");
?XMLWriter writer;
?try {
??writer = new XMLWriter(new FileOutputStream(file),format);
??writer.write(document);
??writer.close();
?} catch (IOException e) {
??e.printStackTrace();
?}
}查看全部 -
使用DOM4J創建XML文件中rss根節點步驟
1,創建Document對象,代表著整個XML文檔
????Document do = DocumentHelper.createDocument();
2,創建根節點rss
????Element rss = do.addElement("rss");
3,向rss根節點中添加version屬性
????rss.addAttribute("version","2.0");
4,創建XML文檔的輸出流
????File file = new File("xxx");
????XMLWriter writer = new XMLWriter(new FileOutputStream(file));
5,將程序所寫的XML文檔內容與輸出流聯系起來
????writer.write(do);
6,關閉資源
????writer.close();查看全部 -
RSS通常是用來描述和同步網站內容的一種格式,本質是xml
xml通常的用途就是可以共享數據查看全部 -
生成帶文本的子節點
// 7.利用handler對象進行xml文件內容的編寫O
// 打開document
handler.startDocument();
AttributesImpl attr = new AttributesImpl();
handler.startElement("", "", "bookstore", attr);
for (Book book : bookList) {
????attr.clear();
????attr.addAttribute("", "", "id", "", book.getId());
????handler.startElement("", "", "book", attr);
????// 創建name節點
????if (book.getName() != null && !book.getName().trim().equals("")) {
????????attr.clear();
????????handler.startElement("", "", "name", attr);
????????handler.characters(book.getName().toCharArray(), 0, book.getName().length());
????????handler.endElement("", "", "name");
????}
????//類似創建name節點(price、language...等等)
????handler.endElement("", "", "book");
}
handler.endElement("", "", "bookstore");
// 關閉document
handler.endDocument();
Ps1:setResult()必須在startDocument()之前調用。
Ps2:void characters(char[] ch,int start,int length)throws SAXException。查看全部 -
####一、主要用到的類:
1. SAXTransformerFactory:用于創建TransformerHandler實例
2. TransformerHandler:用于生成解析文檔
3. Transformer:用于格式化輸出的結果
4. Result:用于保存TransformerHandler產生的結果
####二、主要的流程
// 創建一個工廠類實例,用于創建Handler實例
SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformer.newInstance();
// 從工廠實例中獲取Handler實例
TransformerHandler handler = factory.newTransformerHandler();
// 創建一個格式化傳輸器
Transformer transformer = handler.getTransformer();
// 設置輸出屬性:OutputKeys.IDENNT="yes"表示輸出結果帶換行
former.setOutputProperty(OutputKeys.IDENNT,"yes");
// 創建轉換結果持有器,用于保存Handler輸出的結果
Result result = new StreamResult(new File("demo.txt"));
// 建立handler與result之間的關聯,確保handler處理的結果能正確的保存到result中
handler.setResult(result);
// handler處理文檔的細節(在下一個筆記里面)查看全部
舉報