1

我正在使用 dom4j 提取 xml 文件中的信息(全部在一个文件夹中)。这是我的代码:

    File folder = new File("c:/folder directory");
    File[] listOfFiles = folder.listFiles();
    FileOutputStream foutstream = new FileOutputStream("c:/mozilla_expertlist.txt",true);
    PrintWriter writer = new PrintWriter(foutstream);
    
    for (File file: listOfFiles)
    {
        System.out.println(file.getName());
        File f = new File("c:/Users/dahuo2013/workspace/mozilla_xml/"+file.getName());
        SAXReader reader = new SAXReader();
        reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
        reader.setEncoding("utf-8");
        Document doc = reader.read(f);
        Element root = doc.getRootElement(); 
        Element foo;
        
        for (Iterator i = root.elementIterator("bug"); i.hasNext();) 
        { 
            foo = (Element) i.next();
            writer.println(foo.elementText("assigned_to"));
        }
        
    }
    writer.close();

我的代码正在运行,但它总是有错误报告。然后我发现当xml文件有NUL NUL NUL字符时。它显示错误。当我删除那些 NUL 字符时。它肯定会奏效。

但是我的文件夹里有4000多个xml文件。我不能用手一一删除那些NUL。我的 xml 由 utf-8 编码。有什么简单的方法可以避免那些 NUL 字符吗?或者什么样的简单解决方案可以删除那些 NUL 字符?

谢谢!

还:

在此处输入图像描述

这是 NUL 字符。我在记事本++中打开

4

0 回答 0