-
Format format=Format.getCompactFormat();这个方法是生成紧凑的xml格式,已经换过行了,但是没有缩进。 format.setIndent("");这句代码是实现xml中行的缩进的,里面的参数是空格,要想在xml文件的行中缩进1个空格,则在setIndent("")的参数里面传一个空格,就是在键盘上按一下空格键。想要缩进n个空格,就在参数里按n个空格。 这种格式可能用于某些场合。为了美观,我还是喜欢用这句代码:Format format=Format.getPrettyFormat();很方便,一句解决问题。 我找到转义问题的解决方案了,分享一下 http://stackoverflow.com/questions/15359198/how-to-disable-escaping-using-xmloutputter?answertab=active#tab-top //设置子节点的文本内容 Element title = new Element("title"); //title.setText("国内最新新闻"); CDATA cdata = new CDATA("<!上海移动互联网产业促进中心正式揭牌>"); title.addContent(cdata); channel.addContent(title);查看全部
-
title.addContent(new CDATA("<国内最新新闻>"));这样子可以处理特殊字符 试过了,两种写法竟然都对! title.addContent(new CDATA("国内最新新闻")); title.setContent(new CDATA("国内最新新闻"));查看全部
-
使用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();查看全部
-
通过SAX生成XML文件的节点步骤<br> 先生成外围节点在外围节点的startElement和endElement中间生成子节点<br> 分两种情况:<br> 1,有属性的节点<br> (1)创建属性对象,并设置属性名以及属性值<br> AttributesImpl ai =new AttributesImpl();<br> ai.addAttribute(null,null,name,null,value);<br> (2)创建节点<br> handler.startElement(null,null,name,ai)<br> (3)添加节点内容(若无内容则不用进行这一步)<br> handler.characters(String.toCharArray(),int,int);<br> (4)结束节点<br> handler.endElement(null,null,name);<br> 2,无属性的节点<br> (1)清空属性对象<br> ai.clear();<br> (2)创建节点<br> handler.startElement(null,null,name,ai)<br> (3)添加节点内容(若无内容则不用进行这一步)<br> handler.characters(String.toCharArray(),int,int);<br> (4)结束节点<br> handler.endElement(null,null,name);查看全部
-
使用SAX生成XML文件中的节点以及节点属性 1,打开Document handler.startDocument(); 2,创建属性对象 AttributesiImpl ai = new AttributesImpl(); 3,创建无属性节点 handler.startElement("","","bookStore","ai"); 4,创建有属性节点 ai.clear();(清除原有属性内容) ai.addAttribute("","","id","","1");(设置新的属性内容) handler.startElement("","","book","ai"); 5,结束节点 handler.endElement(); 6,结束Document handler.endDocument();查看全部
-
使用SAX生成XML的准备工作 1,创建SAXTransformerFactory对象,工厂类不能直接new对象 SAXTransformerFactory stf = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); 2,创建TransformerHandler对象,用于XML文件节点以及内容的编写 TransformerHandler th = stf.newTransformerHandler(); 3,创建Transformer对象,用于对生成的XML文件的格式以及编码的设置 Transformer tr = th.getTransformer(); 4,通过Transformer对象对XML文件的编码以及换行进行设置 tr.setOutputProperty(OutputKeys.ENCODING,"UTF-8"); tr.setOutputProperty(OutputKeys.INDENT,"yes"); 5,创建一个流对象供result对象使用 File file = new File("xxxx"); 6,创建Result对象,作为XML的文件输出流 Result result = new StreamResult(new FileOutputStream(file)); 7,将输出流对象与编写XML文件内容的TransformerHandler对象联系起来 th.setResult(result);查看全部
-
//创建document对象,代表整个xml文档 Document document = DocumentHelper.createDocument(); //创建根节点rss Element rss = document.addElement("rss"); //向rss节点中添加version属性 rss.addAttribute("version", "2.0"); //生成子节点及节点内容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>"); //设置生成xml的格式和编码 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //创建xml文件 File file = new File("rssnews.xml"); XMLWriter writer; //创建XMLWriter对象,指定xml文件的位置和格式 writer = new XMLWriter(new FileOutputStream(file), format); //设置是否转义,默认值是true,代表转义 writer.setEscapeText(false); //将doc写入xml文件中 writer.write(document); //关闭资源查看全部
-
/设置生成的xml的格式 OutputFormat.createPrettyPrint(); //设置生成的字符不转意,默认值为true,代表转义。 writer.setEscapeText(false);查看全部
-
XML转义字符 不合法的XML字符必须被替换为相应的实体。 如果在XML文件中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是个新元素的开始。所以不应该像下面那样书写代码: <message>if salary < 1000 then</message> 为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样: <message>if salary < 1000 then</message> 下面是五个在XML文件中预定义好的实体: < < 小于号 > > 大于号 & & 和 ' ’ 单引号 " " 双引号 实体必须以符号"&"开头,以符号";"结尾。 注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是个好习惯。查看全部
-
XML文件中第一行StandAlone表示该XML文件是否独立设置为yes为默认值,且不显示,表示独立没有外部文件为其服务,设置为no表示外部有其他文件为其服务<br> new Document().setXmlStandalone("yes");<br> 生成XML文件子节点的文本内容<br> 1,将子节点添加进DOM树<br> Element ele2 = new Element("name");<br> ele1.append(ele2);<br> 2, 设置子节点的文本内容<br> ele2.setTextContent("String");查看全部
-
将DOM树转换成XML文件<br> 1,创建TransformerFactory对象,Factory为工厂类,不能直接new对象,通过newInstance获取对象<br> TransformerFactory tff = TransformerFactory.newInstance();<br> 2,通过tff获取Transfomer对象<br> Transformer tf = tff.newTransformer();<br> 3,指定换行格式<br> tf.setOutputProperty(OutputKeys.INDENT,"yes");<br> 4,用DOM树生成XML文件,将DOM树以及输出流作为参数传入<br> tf.transform(new DOMSource(Document do),new StreamResult(new File("books1.xml"));查看全部
-
创建XML文件: 1,前两个步骤和解析XML文件一致,都是获取DocumentBuilder对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.getDocumentBuilder(); 2,通过DocumentBuilder的newDocument方法获取Document对象,代表着要生成的DOM树 Document do = db.newDocument(); 3,将根节点添加进DOM树 Element ele = do.createElement("bookStore"); document.appendChild(ele); 4,将子节点添加进DOM树 Element ele1 = document.createElement("book"); ele.appendChild(ele1) 5,将子节点的属性及属性值添加进DOM树 ele1.setAttribute("id","1");查看全部
-
生成带文本的子节点 // 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。查看全部
-
这是我自己的笔记,java xml查看全部
-
常用节点类型查看全部
举报
0/150
提交
取消