当前位置:首页 > 全部子站 > IT > 微软认证

微软认证java中xml解析器的应用实例

来源:长理培训发布时间:2017-07-24 13:49:57

 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 {

  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(

  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();

  }

  }

  2、jdom

  package org.lyj.xml;

  import org.jdom.output.Format;

  import org.jdom.Document;

  import java.io.IOException;

  import org.jdom.input.SAXBuilder;

  import org.jdom.output.XMLOutputter;

  import org.jdom.JDOMException;

  /**

  *

Title:

 

  *

  *

Description:

 

  *

  *

Copyright: Copyright (c) 2005

 

  *

  *

Company:

 

  *

  * @author not attributable

  * @version 1.0

  */

  public class JdomWriter {

  public JdomWriter() {

  }

  public void write(){

  try {

  SAXBuilder builder = new SAXBuilder();

  Document doc = builder.build("aa.xml");

  XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()。setEncoding("utf-8"));

  outputter.output(doc, new java.io.FileOutputStream("bb.xml"));

  } catch (JDOMException e) {

  e.printStackTrace();

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  public static void main(String args[]){

  JdomWriter jd = new JdomWriter();

  jd.write();

  }

  }

责编:周盼盼

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部