Android parseXML在API级别28上不起作用

时间:2018-11-11 13:47:20

标签: android xml inputstream

    try {
            hashMap = new HashMap<>();
            InputStream inputStream;
                URL url = new URL(params[0]);
                inputStream = url.openStream();
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
            Document document = documentBuilder.parse(inputStream);
            Element element = document.getDocumentElement();
            element.normalize();
            NodeList nodeList = document.getElementsByTagName("string");
            for (int current = 0; current < nodeList.getLength(); current++) {
                Node node = nodeList.item(current);
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    Element element_specific = (Element) node;
                    hashMap.put(element_specific.getElementsByTagName("one").item(0).getChildNodes().item(0).getNodeValue(), element_specific.getElementsByTagName("two").item(0).getChildNodes().item(0).getNodeValue());
                }
            }
        } catch (Exception e) {
           e.printStackTrace();
        }

我正在尝试使用InputStream和DocumentBuilder解析XML文件。 从API级别23到API级别27,它都可以完美运行,但是当我在targetApi:28和Android 9 Pie上执行该应用程序时,它不起作用,而我只得到结果:null。

我不知道为什么会这样。有什么问题吗?

0 个答案:

没有答案