【问题标题】:Reading a XML file from resources从资源中读取 XML 文件
【发布时间】:2011-12-29 08:54:21
【问题描述】:

我有一个需要在 Android SDK 中解析的 XML 文件。

如何从资源中读取 XML 文件路径?

XML 包含:

<Book>
<Chapter>
<NO>   1   </NO>
<Text>  My Lord </Text>
</Chapter> 

<Chapter>
<NO>   1   </NO>
<Text>  My Lord </Text>
</Chapter>
</Book>

【问题讨论】:

  • 原始文件夹或资产文件夹中的文件在哪里?
  • 我不知道如何将 XML 文件添加到资源中。
  • 你可以把你的xml放在res/raw或者assets文件夹里然后解析它。
  • 我在 asserts 文件夹中添加了 XML 文件。但是我该如何解析呢?
  • 尽可能多的答案。 google.co.in/…

标签: java android xml resources


【解决方案1】:

放在your_project_root\res\xml\文件夹下。然后你可以打开它:

Resources res = activity.getResources();
XmlResourceParser xrp = res.getXml(R.xml.your_resId);

这里有一个如何使用XmlResourceParser的例子:

http://android-er.blogspot.com/2010/04/read-xml-resources-in-android-using.html

【讨论】:

    【解决方案2】:

    如果资源的 raw 文件夹中有 XML 文件,则可以使用以下代码读取它:

    Context context = getApplicationContext();
    InputStream istream = context.getResources().openRawResource(R.raw.test);
    

    希望对你有用。

    【讨论】:

      【解决方案3】:

      在解析 xml 之前,在您的资源中创建一个文件夹并将 xml 文件放入其中。试试这段代码。

      try {
                  XmlPullParser xpp=getResources().getXml(R.xml.words);
      
                  while (xpp.getEventType()!=XmlPullParser.END_DOCUMENT) {
                      if (xpp.getEventType()==XmlPullParser.START_TAG) {
                          if (xpp.getName().equals("word")) {
                              items.add(xpp.getAttributeValue(0));
                          }
                      }
      
                      xpp.next();
                  }
              }
              catch (Throwable t) {
                  Toast
                      .makeText(this, "Request failed: "+t.toString(), Toast.LENGTH_LONG)
                      .show();
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-24
        • 2016-06-17
        • 1970-01-01
        • 2021-11-21
        相关资源
        最近更新 更多