分类 Oracle认证 JAVA认证 Linux认证 思科考试 微软认证

java中xml解析器的应用实例

 

 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;

    /**

    * <p>Title: </p>

    *

    * <p>Description: </p>

    *

    * <p>Copyright: Copyright (c) 2005</p>

    *

    * <p>Company: </p>

    *

    * @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;

    /**

    * <p>Title: </p>

    *

    * <p>Description: </p>

    *

    * <p>Copyright: Copyright (c) 2005</p>

    *

    * <p>Company: </p>

    *

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

    }

    }

 


   >>学课在线网课试听.报名        >>学课在线智能题库.模拟做题       >>直播课程       >>录播课程

课程名称
课程免费试听 课程名称 课程免费试听 课程名称 课程免费试听
初级会计师 一级建造师
执业药师
中级会计师 二级建造师 护士资格证
注册会计师 一级造价工程师 健康管理师
经济师考试   监理工程师 考研辅导课
银行从业 安全工程师 自考辅导课
基金从业 一级消防工程师 心理咨询师
企业人力资源管理师 法律职业资格考试 公共营养师
社会工作者 消防设施操作员 保育员
教师资格证           成人高考 育婴师
公务员培训           文职培训 英语四六级


重要提醒!!内容中联系方式并非本站联系方式,报名咨询的学员请与下面最新联系方式联系我们咨询报名-以免损失!
>>长期招聘兼职招生代理人员,项目合作,团报优惠咨询,有意者请联系我们 >>咨询:13312524700(可加微信)。

云南学历中心:◆咨询电话:0871-65385921、13312528471 赖老师、钱老师(微信报名:17787865775)点击这里给我发消息


楚雄学习中心:◆咨询电话:0878-3138907、17787826253 冯老师、 王老师(微信报名:17787826253 )点击这里给我发消息


总部报名地址: ◆云南省昆明市人民中路216号丰园大厦25楼2511;网课试听:ke.xuekaocn.cn   点击这里立即咨询我们



地州分校:   大理分校   丽江分校   迪庆分校   怒江分校   红河分校   临沧分校   玉溪分校   文山分校   保山分校   德宏分校   昭通分校   普洱分校   版纳分校 【各地州学员请加老师微信咨询报名,电话(微信):133-1252-4700】;2021年云南省成人高考>>立即报名



职业技能考证:心理咨询师、健康管理师、茶艺师等更多>◆咨询电话:0871-65385238、13312524700(微信)点击这里咨询我们  

公考培训咨询:◆国考云南省考公务员/事业单位面授培训,咨询电话:0871-65385238,13312524700 (微信)点击这里立即咨询我们






温馨提示:因考试政策、内容不断变化与调整,学课在线网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

免责声明:以上内容仅代表原创者观点,其内容未经本站证实,学课在线网对以上内容的真实性、完整性不作任何保证或承诺,转载目的在于传递更多信息,由此产生的后果与学课在线网无关;如以上转载内容不慎侵犯了您的权益,请联系我们QQ:1536696595,我们将会及时处理。




网友评论
     
    工作时间:9:00-18:00 学历提升0871-65385921 职业培训0871-65385238
    工作时间:9:00-18:00
    学历提升:   点这里给我发消息  点这里给我发消息 职业培训:   点这里给我发消息 网校课程:   点这里给我发消息
    微信扫一扫关注我们