【原创】Response XML DOCTYPE dtd解析报错

在请求别人提供的restful接口,返回值为xml时,经常碰到以下两个问题:

第一、因为有DOCTYPE会因为dtd文件找不到而报错。

第二、获得xml中指定节点写法应该用"//name"形式来匹配,代码会优雅很多。


例如:aa

利用dom4j或sax解析xml时,会报home\a.dtd FileNotFoundException,是因为.dtd是检查xml定义的标准,但是这个地址将连接不到,所以报错。

一般采用的方法是:

SAXReader reader = new SAXReader();

/* 在读取文件时,去掉dtd的验证,可以缩短运行时间  */ 

reader.setValidation(false);

reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); 


若要获得name节点的内容,可以通知方法:getSingleElement("//name")获得,“//”表示匹配到任意位置的指定节点

你可能感兴趣的:(【原创】Response XML DOCTYPE dtd解析报错)