Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将inputstream解析为文档生成器?_Java_Android_Xmlhttprequest - Fatal编程技术网

Java 如何将inputstream解析为文档生成器?

Java 如何将inputstream解析为文档生成器?,java,android,xmlhttprequest,Java,Android,Xmlhttprequest,我正在制作一个android应用程序,我正在制作一个httprequest来获取一个XML文档,我的httpEntity不返回null,我正在尝试使用documentbuilderfactory来解析文件并从XML中获取我需要的数据 我有: DefaultHttpClient httpclient = new DefaultHttpClient(); HttpGet httpPost = new HttpGet(URL); httpPost.ad

我正在制作一个android应用程序,我正在制作一个httprequest来获取一个XML文档,我的httpEntity不返回null,我正在尝试使用documentbuilderfactory来解析文件并从XML中获取我需要的数据

我有:

        DefaultHttpClient httpclient = new DefaultHttpClient();

        HttpGet httpPost = new HttpGet(URL);
        httpPost.addHeader("Authorization", getAuthHeader());

        HttpResponse response = httpclient.execute(httpPost);
        HttpEntity entity = response.getEntity();   

        InputStream is = entity.getContent();
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder(); 
        Document doc = db.parse(is);
此时,我得到一个错误异常,如下所示

org.xml.sax.SAXParseException: expected: /hr read: body (position:END_TAG @10:8 in java.io.InputStreamReader@40564d70) org.xml.sax.SAXParseException:expected:/hr read:body(在java.io中位置:END_TAG@10:8)。InputStreamReader@40564d70) 是否有人看到了这一点或知道我在做什么,我无法找到问题所在,如果这还不够,我可以提供更多的代码,没有更多的工作正在进行,只有http请求。 我试图获取的“XML”文件如下所示

<ads>
  <ad>
    <id>6</id>
    <minViews>10</minViews>
    <duration>4</duration>
    <actionUrl>URL</actionUrl>
    <imageUrl>URL</imageUrl>
    <impressionCount>0</impressionCount>
  </ad>
<ads>

6.
10
4.
统一资源定位地址
统一资源定位地址
0

这就是文件中的全部内容。我正在尝试在两个位置获取URL。

看起来文档是一个不符合XML的HTML。未终止的

标签是一个死赠品。XML解析根本不适用于这些文档


根据您希望从该文档中获得什么,您可能需要滚动您自己的解析器,查找并修改现有的解析器,或者使用WebView。

如果xml中缺少DTD,请添加正确的doctype,您的解析就可以了。

当您说解析文件时,您想从中得到什么,字符串?一个节点?看起来提取的XML语法不正确。我建议将响应内容作为
字符串
读取并打印出来,以查看实际得到的内容。。。我猜这不是你认为你应该得到的。