当我使用Web服务从xml文档获取数据时,我得到空指针异常

时间:2018-05-30 10:41:49

标签: java

String name= "Nsss";
String resulturl ="http://ssss/res/get?sid="+name+"";



DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(resulturl));
Document doc = db.parse(resulturl);
System.out.println("sssssssssssssssssssssssssssssssssssssssssssssssssss"+doc.getDoctype().getTextContent());

我得到了这个例外。

  

显示java.lang.NullPointerException       在com.controller.StudentsResultsController.main(ResultsController.java:130)

1 个答案:

答案 0 :(得分:0)

在使用之前,您应该检查resulturl变量是什么,但您需要解决的另一件事是:您根本没有使用InputSource。以下内容可能比您拥有的更好:

InputSource is = new InputSource();
is.setCharacterStream(new StringReader(resulturl));
Document doc = db.parse(is);

修改

致命错误由以下原因引起:

  

StringReader(resulturl)接受一个必须是XML的字符串参数,而不是文件名或URL。解析器正在读取字符串变量valueurl的值,并立即失败,因为XML文档可能不以h字符开头。

尝试将上述内容更改为:

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();          
Document doc = dBuilder.parse(new InputSource(resulturl));