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

  • 相关阅读:
    activity 之间传递参数
    手动创建一个Activity,完成页面跳转(intent 无参数)
    C++中汉字字符串的截取
    android基础知识清单。
    更改远程仓库
    设计模式六大原则
    事件订阅代码
    Python Mac ssl.SSLError certificate verify failed (_ssl.c:833)
    Python库中常见的 __all__ 变量是干啥的
    Thrift的使用-Python
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/6244606.html
Copyright © 2011-2022 走看看