当前页面: 开发资料首页 → J2EE 专题 → 解析xml文件报错
解析xml文件报错
摘要: 解析xml文件报错
在解析xml文件的时候
如果<?xml version="1.0" encoding="utf-8"?>
不是第一行写的时候就会报错
要是第一行是一个空行
就是说<?xml version="1.0" encoding="utf-8"?>不是写在最前面的
要怎么解析这个xml
是用一个InputStream读过来的
谢谢!
路过,友情up...
用dom4j
DOM解析
SAX解析
解析用dom4j,jdom, SAX
都试过了
都不行的
<?xml version="1.0" encoding="utf-8"?>
这个是文件头啊?XML的定义里面这个就是要放在第一行的吧。。。
sax2
不写第一行是可以的!我这里有一个代码你看看吧!
/** 每一次拿第一个 */
String xml = (String) list.get(0);
/** 解析XML */
ByteArrayInputStream bytein = new ByteArrayInputStream(
xml.getBytes("utf-8"));
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory
.newDocumentBuilder();
Document doc = builder.parse(bytein);
/** 读取父结点 */
NodeList info0 = doc.getElementsByTagName("info");
Node info = info0.item(0);
/** 父结点的ID和Type和telphone */
String infoId = info.getAttributes().getNamedItem(
"id").getNodeValue();
String infoType = info.getAttributes()
.getNamedItem("type").getNodeValue();
最好还是按照标准的写法来写
可以避免很多问题
如果XML文件的行数不是很多的话用DOM解析就可以了
超过5000行就不要用那个了
DOM是很吃内存的