zoukankan      html  css  js  c++  java
  • 解析txt文本,dom4j工具输出为xml文档

    有如下一个ttl.txt文本文档,每一行用空格隔开的三段分别代表主谓宾,

    要将它们输出为xml格式文档

    工具:dom4j,jar包导入MyEclipse的Java Project工程

    代码如下:

    package com.jhtc;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    
    public class Parse {
        public static void main(String[] args) {
            File f=new File("C:/Users/Administrator/Desktop/ttl.txt");
            InputStream fis=null;
            InputStreamReader isr=null;
            BufferedReader br=null;
            String str="";
            //1.第二种 创建文档及设置根元素节点的方式  
            Element root = DocumentHelper.createElement("ttl"); 
            Document document = DocumentHelper.createDocument(root);
            //给根节点添加孩子节点  
            Element element1 = null; 
            XMLWriter xmlWriter=null;
            try {
                fis=new FileInputStream(f);
                isr=new InputStreamReader(fis);
                br=new BufferedReader(isr);
                
                while((str=br.readLine())!=null){
                    System.out.println(str);
                    //String arrays[]=str.split("\s+");//匹配多个空格,split支持正则表达式
                    String arrays[]=str.split(" {3,}");//匹配3个及3个以上的空格
                    
                    element1 = root.addElement("主谓宾");//给根节点添加孩子节点  
                    //把一行三段输出为xml格式
                    element1.addElement("主语").addText(arrays[0]);//孩子节点再添加孩子节点
                    element1.addElement("谓语").addText(arrays[1]);
                    element1.addElement("宾语").addText(arrays[2]);
                    
                    //把生成的xml文档存放在硬盘上  true代表是否换行  
                    OutputFormat format = new OutputFormat("    ",true);  
                    format.setEncoding("UTF-8");//设置编码格式  
                    xmlWriter = new XMLWriter(new FileOutputStream("ttl.xml"),format);  
                  
                    xmlWriter.write(document);  
                     
                    
                }    
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                try {
                    xmlWriter.close(); 
                    br.close();
                    isr.close();
                    fis.close();
                    
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    看到工程目录下生成了ttl.xml文档,部分内容如下:

  • 相关阅读:
    ie兼容问题整理
    jQuery Easing 使用方法及其图解
    前端模块化学习
    velocity常用语句速查表
    table插件实现
    表单自动提交问题整理
    移动端开发
    工具的使用及配置
    《TCP/IP详解 卷1:协议》读书笔记
    iOS 内存泄漏
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/6244606.html
Copyright © 2011-2022 走看看