gpt4 book ai didi

xml 拉解析器 Assets xml

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:56:02 26 4
gpt4 key购买 nike

如何使用拉式解析器解析 Assets 文件夹中的本地 XML 文件?我无法让 pull 解析器工作。它总是抛出 io 异常。我想我无法获取文件的路径或连接到文件。

最佳答案

混合,

我正在研究各种从“assets”和“res”加载本地文件的方法,但要按要求回答你的问题(因为其他人似乎没有):

首先,要么在测试之前确保您的 XML 有效,要么关闭验证,这就是您可以做到这一点并同时实例化拉式解析器的方法:

    try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setValidating(false);
XmlPullParser myxml = factory.newPullParser();

然后打开 xml 文件并将其设置为您的拉式解析器的输入:

        InputStream raw = getApplicationContext().getAssets().open("simple.xml");
myxml.setInput(raw, null);

现在设置你的拉环(或其他,取决于你是否想要延迟拉动,这是你的设计决定:

        int eventType = myxml.getEventType();
while(eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {

Log.d(MY_DEBUG_TAG, "In start document");
}
else if(eventType == XmlPullParser.START_TAG) {
Log.d(MY_DEBUG_TAG, "In start tag = "+myxml.getName());
}
else if(eventType == XmlPullParser.END_TAG) {
Log.d(MY_DEBUG_TAG, "In end tag = "+myxml.getName());

}
else if(eventType == XmlPullParser.TEXT) {
Log.d(MY_DEBUG_TAG, "Have text = "+myxml.getText());
}
eventType = myxml.next();
}
} catch (XmlPullParserException e) {

请注意 myxml.getEventType() ,您需要执行此操作才能进行解析并处理您正在拉取的事件类型。注意:为了便于阅读,省略了 catch block 。

在2.1上测试了以上,希望对你有帮助-弗兰克

关于xml 拉解析器 Assets xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2893364/

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