gpt4 book ai didi

java - 如何在本地文件上使用 XMLPullParser

转载 作者:行者123 更新时间:2023-12-01 10:18:41 30 4
gpt4 key购买 nike

我正在使用 XMLPullParser 读取资源文件夹中的本地 XML 文件,教程的代码位于 android 开发者网站上:

链接:http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

代码:

import java.io.IOException;
import java.io.StringReader;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

public class SimpleXmlPullApp
{

public static void main (String args[])
throws XmlPullParserException, IOException
{
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();

xpp.setInput( new StringReader ( "<foo>Hello World!</foo>" ) );
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag "+xpp.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("End tag "+xpp.getName());
} else if(eventType == XmlPullParser.TEXT) {
System.out.println("Text "+xpp.getText());
}
eventType = xpp.next();
}
System.out.println("End document");
}
}`

我意识到我必须替换 StringReader,但是我应该用什么替换它才能使用本地文件?

最佳答案

如果xml文件在assets文件夹中,可以这样检索:

使用context.getAssets().openXmlResourceParser(String filename)。它返回一个 XmlResourceParser ,它是示例中的 XmlPullParser 的实现。如果文件位于 assets/subfolder/file.xml 中,则文件名参数将为 "subfolder/file.xml"

要考虑的另一件事是,您可以将其放在资源下的 XML 文件夹中,并将其检索为 R.xml.filename:

res/xml/filename.xml

<?xml version="1.0" encoding="utf-8"?>
<credits>
<credit>one</credit>
<credit>two</credit>
</credits>

在 Android Activity 中:

final XmlResourceParser parser = getContext().getResources().getXml(R.xml.filename);

关于java - 如何在本地文件上使用 XMLPullParser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35758719/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com