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


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 at com.controller.StudentsResultsController.main(ResultsController.java:130(

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

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

编辑

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

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

尝试将上述内容更改为:

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

最新更新