• 解析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文档,部分内容如下:

  • 相关阅读:
    KVC KVO
    Objective-C的hook方案(一): Method Swizzling
    Method Swizzle黑魔法,修改 ios 系统类库方法 SEL IMP
    http 请求安全
    块对象block小结(2)
    块对象block小结
    springmvc项目目录总结
    软件开发实用标准流程——文档
    冷知识:反常识的margin-top与padding-top与%,你被坑过吗?
    菜鸟笔记:在公司内网下搭好Java项目环境(IDEA、maven、svn)
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/6244606.html
Copyright © 2020-2023  润新知