当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年软件设计师复习:java中xml解析器的应用实例
发布时间:2012/9/16 23:12:00 来源:城市网学院 编辑:admin
   xml解析中,通常大家读文件,解析的时候没有问题,但是在写文件的时候常常会碰到乱码等问题,就我的个人体会是一般只要在写文件的时候采用文件流的形式,设置好当前的编码方式,通常就会避免此类问题的发生!下面有两个简单的分别是采用jdom和dom4j实现的例子:
    1、dom4j
    package org.lyj.xml;
    import java.io.OutputStream;
    import java.io.UnsupportedEncodingException;
    import org.dom4j.Document;
    import org.dom4j.Element;
    import java.io.FileWriter;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.Namespace;
    import org.dom4j.io.XMLWriter;
    import java.io.File;
    import java.io.IOException;
    import org.dom4j.DocumentHelper;
    /**
    *
    Title:
    *
    *
    Description:
    *
    *
    Copyright: Copyright (c) 2005
    *
    *
    Company:
    *
    * @author not attributable
    * @version 1.0
    */
    public class Dom4jTest { [NextPage]    public void generateDocument() {
    org.dom4j.DocumentFactory df = new org.dom4j.DocumentFactory();
    Document document = df.createDocument();//.createDocument();
    Element catalogElement = document.addElement(“catalog”);
    catalogElement.addComment(“An XML Catalog”);
    catalogElement.addProcessingInstruction(“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(“录音机”);
    firstNameElement.setText(“Marcello”);
    Element lastNameElement = authorElement.addElement(“刘”);
    lastNameElement.setText(“Vitaletti”);
    document.addDocType(“catalog”,
    null, “file://c:/Dtds/catalog.dtd”);
    document.setXMLEncoding(“gb2312”);
    try {
    OutputFormat of = OutputFormat.createCompactFormat();
    of.setEncoding(“gb2312”);
    XMLWriter output = new XMLWriter( [NextPage]    new java.io.FileOutputStream(new File(“c:/catalog/catalog.xml”)),of);
    output.write(document);
    output.close();
    } catch (IOException e) {
    System.out.println(e.getMessage());
    }
    }
    public static void main(String[] argv) {
    Dom4jTest dom4j = new Dom4jTest();
    dom4j.generateDocument();
    }
    }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved