Java 通过以下代码解析xml字符串或者文件时遇到错误:尾随节中不允许有内容,代码如下:
DocumentBuilder db = dbf.newDocumentBuilder();
//通过DocumentBuilder对象的parser方法加载test.xml
Document document = db.parse("D:\\JavaCode\\IDEASpaces\\test.xml");
//或者通过以字符串加载xml内容
Document doc2 = db.parse( new InputSource( new StringReader( urlString ) ) );
报错:
[Fatal Error] test.xml:24:9: 尾随节中不允许有内容。
org.xml.sax.SAXParseException; systemId: file:///D:\JavaCode\IDEASpaces\test.xml; lineNumber: 36; columnNumber: 10; 尾随节中不允许有内容。
原因也简单,是因为我xml里格式多了一个<没有转义导致文件格式有错误,可以通过以下转义字符比对自己的xml内容。
尤其要注意空格,它是最容易被忽略的。
xml中转义字如下:
| 显示结果 | 描述 | 转义字符 | 十进制 |
|---|---|---|---|
| 空格 | |   | |
| < | 小于号 | < | < |
| > | 大于号 | > | > |
| & | 与号 | & | & |
| " | 双引号 | " | " |
| ' | 单引号 | ' | ' |
| × | 乘号 | × | × |
| ÷ | 除号 | &divde; | ÷ |
检查一下是否出现了特殊符号,尤其要注意这个空格,我们很难看出来 ,传输内容的空格可以借助工具来查看,这里我推荐使用Notepad++来查看,通过勾选视图里的"显示所有字符"可以看到空格。
相关文章: