问题描述:
目的:取出表格中所有的数据
java使用XPATH提取表格,然后要对表中的每行数据再使用XPATH进行取值。
第一步用XPATH取出表格内容很正常,但是在将第一步的取值结果转换成document后,发现其中tr/td标签全都丢失。
错误原因:将XPATH结果转成了html格式的document
解决方法:改成xml方式的document
public Document stringToDoc(String xmlStr) {
//字符串转XML
Document doc = null;
try {
xmlStr = new String(xmlStr.getBytes(),"UTF-8");
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
doc = builder.parse(is);
} catch (ParserConfigurationException e) {
System.err.println(xmlStr);
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
System.err.println(xmlStr);
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
System.err.println(xmlStr);
// TODO Auto-generated catch block
e.printStackTrace();
}
return doc;
}