DOm4J 读写解析xml

package com.test;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import java.io.*;

public class TestXMl {
    
    // write
    public void generateDocument() {

        File file = new File("c:/catalog");

        if (!file.exists()) {
            file.mkdirs();
        }
        Document document = DocumentHelper.createDocument();
        Element catalogElement = document.addElement("catalog");
        
    
//        catalogElement.addComment("An XML Catalog"); 注释<!--An XML Catalog-->
//        catalogElement.addProcessingInstruction("target", "text");<?target text?>
        Element journalElement = catalogElement.addElement("journal");
        journalElement.addAttribute("title", "XML Zone");
        journalElement.addAttribute("publisher", "IBM developerWorks");
        Element articleElement = journalElement.addElement("article");
        articleElement.addAttribute("level", "Intermediate");
        articleElement.addAttribute("date", "December-2001");
        Element titleElement = articleElement.addElement("title");
        titleElement.setText("Java configuration with XML Schema");
        Element authorElement = articleElement.addElement("author");
        Element firstNameElement = authorElement.addElement("firstname");
        firstNameElement.setText("Marcello");
        Element lastNameElement = authorElement.addElement("lastname");
        lastNameElement.setText("Vitaletti");
        <!DOCTYPE catalog SYSTEM "file://c:/Dtds/catalog.dtd">
    //    document.addDocType("catalog", null, "file://c:/Dtds/catalog.dtd");
        try {
            XMLWriter output = new XMLWriter(new FileWriter(new File(
                    "c:/catalog/catalog.xml")));
            output.write(document);
            output.close();
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

    public static void main(String[] argv) {
        TestXMl dom4j = new TestXMl();
        dom4j.generateDocument();
    }

}



--------------------- 读取xml文件---------------


  读取xml 文件(简单的) public static void main(String[] args)
        {
            try
            {
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = factory.newDocumentBuilder();
                Document doc = db.parse(new File("c:\\catalog\\catalog.xml"));
                Element elmtInfo = doc.getDocumentElement();
                NodeList nodes = elmtInfo.getChildNodes();
                int m = 1;
                for (int i = 0; i < nodes.getLength(); i++)
                {
                    Node result = nodes.item(i);
                    
                    System.out.println(result.getNodeType()+"-----first"+result.getNodeName());
                    
                    if (result.getNodeType() == Node.ELEMENT_NODE && result.getNodeName().equals("worktype"))
                    {
                         NodeList ns = result.getChildNodes();
                        
                        System.out.println();
//                       
//
                     for (int j = 0; j < ns.getLength(); j++)
                         {
                        Node record = ns.item(j);
                        System.out.println( ": " + record.getTextContent());
 
      //                 if (record.getNodeType() == Node.ELEMENT_NODE && record.getNodeName().equals("name"))
        //                 {
//                                System.out.println(m + ": " + record.getTextContent());
//                                m++;
      //                   }
                     }
                    }
                }
            }
            catch (ParserConfigurationException e)
            {
                e.printStackTrace();
            }
            catch (SAXException e)
            {
                e.printStackTrace();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
    }

<?xml version="1.0" encoding="UTF-8"?>
<catalog>     <worktype>工种一
     </worktype><worktype>工种2
     </worktype><worktype>工种3
     </worktype>
</catalog>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值