parsing - 如何重用j2me kxml解析器?

标签 parsing java-me xml-parsing kxml

我正在为我的 j2me 应用程序使用 kxml 解析器。我正在从手机内存中读取文件并解析 xml 文件以显示数据(具有各种级别的过滤器)。在每个过滤器上,我需要从此文件中读取数据。我第一次创建解析器,每次我都将这个解析器1(引用原始)重新分配给paerser2(用于解析数据)。第一次我得到了正确的答案,但第二次我没有得到文件内容,它显示为空数据。

这是我的代码:

FileConnection fc = (FileConnection)Connector.open(rmsObj.rmsData.elementAt(0).toString());
InputStream in = fc.openInputStream();
InputStreamReader is = new InputStreamReader(in);
commonAppObj.externParser = new XmlParser(is);

commonAppObj 类文件。

protected void fileread() {
    try {
        if(externParser != null){
            parser = externParser;
            fileparser(parser);
        }else{
            InputStream in = this.getClass().getResourceAsStream(this.dataBase);
            InputStreamReader is = new InputStreamReader(in);
            parser = new XmlParser(is);
            fileparser(parser);
        }
    } catch (IOException ioe) {
    } finally {
        parser = null;
    }
}

private void fileparser(XmlParser parser){
    try {
        ParseEvent event = null;
        dataflag = 0;
        dataflagS = 0;
        System.out.println("findtags = " + findtags);
        while (((event = parser.read()).getType() != Xml.END_DOCUMENT) && (dataflag != 1)) {
            if (event.getType() == Xml.START_TAG) {
                String name = event.getName();
                if (name != null && name.equals(findtags)) {
                    dataflag = 0;
                    parseAddressTag(parser);
                }
                name = null;
            }
            event = null;
        }
    } catch (IOException ioe) {
    } finally {
        parser = null;
    }
}
}

最佳答案

如果您的InputStream在调用 markSupported 时返回 true你可以 reset它位于 fileparser 方法的末尾,但首先您需要调用 mark创建后立即进行。

if (in.markSupported()) {
  in.mark(in.available());
}

关于parsing - 如何重用j2me kxml解析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12472729/

相关文章:

blackberry - 如何使用 scaleImage32() 将我的图像缩小到一半大小?

javascript - 使用 Javascript 从 URL 解析 XML/RSS

java - 需要空格

java - 从表中访问数据 - JSON/Java

java - 错误地解析日期

asp.net - 通过 ASP.NET 在 Web 上对 Word 文档进行富文本编辑

PHP 解析/语法错误;以及如何解决它们

c++ - 访问短信收件箱

java-me - 无法在j2me中打开三星手机上的相机

xpath - 获取与 XPath 表达式匹配的 XML 节点