码迷,mamicode.com
首页 > 其他好文 > 详细

XML解析

时间:2016-04-30 16:51:51      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

原生API解析

1.得到文档对象

 /**
      * XML(API)读取方法
      * @param 接收一个文件对象
      * @return 返回一个Document对象
      * @throws Exception 
      */
 public Document readXml(File file) throws Exception{
         
   DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
   DocumentBuilder builder = factory.newDocumentBuilder();
   Document doc = builder.parse(file);
   return doc;
 }

2.修改文档内容

//从doc中获取根节点
Element root = doc.getDocumentElement();
//从根节点中获取指定子节点组
NodeList nodeList = root.getElementsByTagName("elementName");
//子节点组中的一个
Element element = (Element) nodeList.item(0);
//获取元素id属性
element.getAttribute("id");
//拿到一个节点中的文本
node.getTextContent();

 

3.同步

/**
     * XML(API)写出方法
     *  @param 接收一个Document对象和一个File对象,File对象指定文件生成的目的地
     */
public void writeXml(Document doc,File file) throws Exception{
    Transformer transformer = TransformerFactory.newInstance().newTransformer();
    DOMSource source = new DOMSource(doc);
    StreamResult result = new StreamResult(file);
    transformer.transform(source, result);
}

 

dom4j解析

0 导入dom4j的jar包

1.得到文档对象

 File file = new File("path/file.xml");
     SAXReader reader = new SAXReader();
     Document doc = reader.read(file);

2.修改文档内容

//获取根标签
Element rootElement = doc.getRootElement();
//获取指定名称的标签组
List<?> elementList = rootElement.elements("name");
//获取标签组中的一个
Element element = (Element) elementList.get(0);
//添加或设置属性值
element.addAttribute("id","111");
//获取属性值
String value = element.attributeValue("id");
//获取标签中文本
element.elementText("name");
//设置标签中的文本
element.setText("text");

 

3.同步

//同步
//FileWriter writer = new FileWriter(file);
//doc.write(writer);
//漂亮的样式
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(new FileWriter(file), format);
writer.write(doc);
//format.setEncoding("utf-8");
//关闭资源
writer.close();

 

XML解析

标签:

原文地址:http://www.cnblogs.com/dt7396/p/5448930.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!