-
怎么看返回值是什么?
查看全部 -
方法的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处理文档的细节(在下一个笔记里面)查看全部
举报