使用jdom来格式化输入xml
2010-07-14 17:00
399 查看
今天无意中听同事说到格式化输出xml代码,于是一时兴起,就写了一个小工具,使用了jdom,可以到jdom官方网站http://www.jdom.org/下载。
具体代码如下:
随手写的,可能有的地方需要改进,有什么好的方式或者建议还望大家多多指点!
具体代码如下:
import java.util.List; import org.jdom.Attribute; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; /** * @author JustANobody 高源 * @homePage http://blog.csdn.net/JustANobody * @date Jul 14, 2010 4:40:56 PM * @version V1.0 */ public class MyXMLTool { /** * 该方法用于将XML文档的节点进行格式化打印,有点类似于IDE的代码格式化 * @param node XML文档的节点 * @param level 参数level用来标识缩进等级的,子节点越多打印的缩进就越多 */ @SuppressWarnings("unchecked") public static void formatXML(Element node,int level){ for(int i=0;i<level;i++){ System.out.print(" "); //有子节点的缩进为4个空格,你也可以用/t,不过/t距离太宽看起来不舒服 } System.out.print("<"+node.getName()); //获取该节点的所有属性 List attrs=node.getAttributes(); if(attrs!=null && attrs.size()>0){ //如果有属性,则打印出所有属性 for(Object o: attrs){ Attribute att=(Attribute)o; System.out.print(" "+att.getName()+"=/""+att.getValue()+"/""); } } System.out.print(">"); if(node.getTextTrim()!=null && !node.getTextTrim().equals("")){ //如果该节点有值,则打印对应的值 System.out.print(node.getTextTrim()); }else if (node.getChildren().size() <= 0) { //如果没有子节点,就什么也不用做,直接打印该节点的结束标签 } else { // 如果没有节点值并且有子节点就换行,打印出相应的子节点 System.out.println(); // 获取该元素所有的子节点 List list = node.getChildren(); // 如果有子节点,继续递归,并将层次level+1,打印缩进 for (Object obj : list) { Element elm = (Element) obj; // 递归调用 formatXML(elm, level + 1); } for (int i = 0; i < level; i++) { System.out.print(" "); } } //打印该节点的结束标签 System.out.println("</"+node.getName()+">"); } public static void main(String[] args) throws Exception{ SAXBuilder build=new SAXBuilder(); Document doc=build.build("web.xml");//参数设置为你的xml来源 Element root=doc.getRootElement();//从根节点开始格式化打印xml文档 MyXMLTool.formatXML(root, 0); } }
随手写的,可能有的地方需要改进,有什么好的方式或者建议还望大家多多指点!
相关文章推荐
- 使用JDOM输入XML到硬盘的时候,为其设置编码
- 使用jdom创建xml文本并格式化输出为字符串xml
- 实际项目开发中需要的格式化标签以及JSTL标签库介绍【1核心标签(用得最多)2 国际化标签(I18N格式化标签) 数据库标签(SQL标签,很少使用) XML标签(几乎不用) JSTL函数(EL函数)】
- 使用DateValidator判断用户输入的日期格式,并用DateFormatter对输入日期格式化。
- java中使用xls格式化xml的实例
- 如何使用Notepad++格式化XML文件
- java使用jdom架包解析xml字符串dom原理并保存map对象
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 简单使用JDOM解析XML
- 使用jdom解析xml字符串
- Java xml 工具 JDOM 使用详解.
- OpenCV之core 模块. 核心功能(2)基本绘图 随机数发生器&绘制文字 离散傅立叶变换 输入输出XML和YAML文件 与 OpenCV 1 同时使用
- 使用JDOM读取XML信息
- jdom解析xml, API使用、详解、实例说明
- Java&Xml教程(六)使用JDOM解析XML文件
- 简单使用JDOM解析XML 完整版 转
- 使用jdom生成xml文档
- 一个简单的使用jdom解析xml例子
- 使用JDOM操作XML
- 查看网页的时候,提示使用XSL样式表无法查看XML输入,如何解决?