0

我正在使用将干净代码存储在 tagNode 中的 xml 解析器从文件夹中读取 HTML 文件

try {
    Document doc = new DomSerializer(props, true).createDOM(tagNode);
} catch (Exception ex) {
 ex.printStackTrace();
}

但是其中一个文件给了我一个错误:

org.w3c.dom.DOMException: INVALID_CHARACTER_ERR: An invalid or illegal XML character is specified. 

捕获异常后如何继续运行程序?


解决方案#1

    try 
    {
            File folder = new File(path);
            File[] listOfFiles = folder.listFiles();
        FileWriter fstream = new FileWriter("dataset.txt");
            BufferedWriter br= new BufferedWriter(fstream);


for (int i = 0; i < listOfFiles.length; i++) {    
{
        try {
            Document doc = new DomSerializer(props, true).createDOM(tagNode);
        } catch (Exception ex) {
         ex.printStackTrace();
        }
    }
    } catch (Exception ex) {
         ex.printStackTrace();
        }

给定一种解决方法,为什么我会收到此错误?

4

2 回答 2

4

使用 try/catch 块

try{
   Document doc = new DomSerializer(props, true).createDOM(tagNode);
}
catch(DOMException e){
   //error handling here if you want
}

 //we now hit more code
于 2012-01-25T21:13:34.250 回答
2

如果您正在处理上面提到的文件列表,则只需要try-catchfor 循环内的块:

File folder = new File(path);
File[] listOfFiles = folder.listFiles();
FileWriter fstream = new FileWriter("dataset.txt");
BufferedWriter br= new BufferedWriter(fstream);

for (int i = 0; i < listOfFiles.length; i++)  
{
    try 
    {
       Document doc = new DomSerializer(props, true).createDOM(tagNode);
    } 
      catch (DOMException de) 
      {
         de.printStackTrace();
      }
}
于 2012-01-26T00:26:06.097 回答