当前位置: 首页 > 知识库问答 >
问题:

Android解析XML

马国源
2023-03-14
public boolean editXML(String newCar) {
    try {
        String myXMLfile = "res\\values\\cars.xml";

        DocumentBuilderFactory docFactory = DocumentBuilderFactory
                .newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        Document doc = docBuilder.parse(myXMLfile);

        Node string_array = doc.getElementsByTagName("string-array")
                .item(0);

        Element item = doc.createElement("item");
        item.setTextContent(newCar);
        string_array.appendChild(item);

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(new File(myXMLfile));
        transformer.transform(source, result);
        return true;
    } catch (Exception e) {
        return false;
    }
}

如果我运行一个普通的JAVA项目,上面的函数可以正常工作,但是如果我在android项目中运行它,它会返回false。问题出在哪里?如何在android项目中预览e.printstacktrace,以便查看异常情况?

共有2个答案

洪楚
2023-03-14

可以在LogCat窗口中查看堆栈跟踪。如果它没有显示,在Eclipse中,您必须转到窗口

如果没有错误跟踪,很难说您的解析问题在哪里...要在Logcat中显示堆栈跟踪,请将e.printStackTrace();添加到您的catch块。

匡翰
2023-03-14

第一个问题:

} catch (Exception e) {
    return false;
}

这会使代码抛出的任何Exception沉默,并且不会帮助您诊断问题。至少打印异常堆栈跟踪以记录,例如。

} catch (Exception e) {
    android.util.Log.e("tag", "", e);
    return false;
}

第二个问题:

String myXMLfile = "res\\values\\cars.xml";

Android资源在构建过程中编译为二进制形式。它们不适用于您的应用程序。要从资源中读取XML,请参阅例如Android:从本地资源读取XML(用于测试)。

第三个问题:谁知道呢,先修复之前的问题。

 类似资料:
  • 问题内容: 我不是开发人员,只是涉足编程。我从来不了解的一个领域是XML解析。可悲的是,对于我最新的“项目”,我需要为一个Android应用执行此操作。它是我正在工作的原型。 我有这个XML(模型文件): 我有一些代码可以让我获得每个的NodeList: 我不确定下一步该怎么做。我的代码对此似乎很长。我一直在搜寻更好的方法,但发现一些更简洁的代码,无法上班。 有没有很好的Android XML教程

  • 问题内容: 我有这样的XML: 现在,我学习Kotlin进行翻新。我包括用于解析xml的库,但我不明白如何创建用于解析此xml的对象。我有对象: 但我有错误: rg.simpleframework.xml.core.ConstructorException:默认构造函数无法接受类ac中方法“ aries”上的@ org.simpleframework.xml.Element(data = fals

  • 问题内容: 我在将json解析到我的android应用中时遇到了一些问题。 这是我的json文件的样子: 如您所见,这种结构有点奇怪。我不知道如何在我的应用程序中读取该数据。我注意到那些都是对象而不是数组:/ 问题答案: 更新2018 5年后,在Android上解析json有了新的“标准”。它被称为moshi,人们可以认为它是GSON 2.0。它非常相似,但已修复了设计错误,这是您开始使用它时遇到

  • 本文向大家介绍android JSON解析数据 android解析天气预报,包括了android JSON解析数据 android解析天气预报的使用技巧和注意事项,需要的朋友参考一下 概要 笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_mini?citykey=101200101 JSON数据如下: 最终解析效果

  • 我在尝试向手机显示JSON数据时遇到了这个问题 这是我的错误消息 9-29 11:28:24.657 29264-29264/com . example . window 8 . my friend D/Android runtime:正在关闭虚拟机09-29 11:28:24.657 29264-29264/com . example . window 8 . my friend W/dalvi

  • 主要内容:本节引言:,1.XML数据要点介绍,2.三种解析XML方法的比较,3.SAX解析XML数据,4.DOM解析XML数据,5.PULL解析XML数据,6.代码示例下载:,本节小结:本节引言: 前面两节我们对Android内置的Http请求方式:HttpURLConnection和HttpClient,本来以为OkHttp 已经集成进来了,然后想讲解下Okhttp的基本用法,后来发现还是要导第三方,算了,放到进阶部分 吧,而本节我们来学习下Android为我们提供的三种解析XML数据的方案!