问题标签 [saxparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2415 浏览

java - SAXParser 无法解析某些字符

我在 android/java 上用 SAXParser 等做一些简单的 SAXParsing

它可以正确解析文件,但遇到一些特殊字符时会打嗝,例如,如果它解析下面的这个 xml:

当它在最后一行的 Pohjois-Leppävaara 中遇到 ä 时,它会打嗝。

它给出的错误是:

我确信 SAXParser 可以处理这些字符,但我相信我需要在某处设置一些编码等?

Java代码是这样的:

0 投票
1 回答
3074 浏览

android - 如何使用 AsyncTask 和 PublishProgress 获取 XML

我解析 XML 数据并将其放入对象中。这需要相当长的时间,我决定使用 AsyncTask 在后台运行它。我的代码几乎和这个例子一模一样: How to get XML using AsyncTask and Timer?

不同之处在于我想在我走多远的时候发布Progress。我要发布进度的代码的相关部分:

到现在为止,您会推断出我是新手。与我想做的最接近的研究表明:

http://www.mail-archive.com/android-developers@googlegroups.com/msg79275.html

是的,这有点复杂......两种方法:

1) 使AsyncTask 实现org.sax.ContentHandler。这样,SAX 回调就可以直接访问 AsyncTask.publishProgress()。

2) 创建一个委托,以便解析器有一个返回 AsyncTask 的句柄以发布进度更新。

当我尝试上述方法时,我得到:

来自 AsyncTask 类型的方法 publishProgress(Progress...) 不可见

唉,我怎么能从 endElement 调用 publicProgress?或者有人可以给我一些如何正确地做到这一点?回顾一下:

我有 XML 数据。读取数据是一个漫长的操作。我使用 SAXParser 来获取数据。在 endElement 方法中,数据被添加到最终将在其他地方使用的对象中。大多数研究表明我必须使用 AsyncTask 并且我现在正在使用它,因为我有一个来自 Commonsware 的很好的屏幕旋转示例。问题是我如何更新进度。

编辑:@Cristian 这里是异步任务:

这几乎与此 Commonsware 示例完全相同: https ://github.com/commonsguy/cw-android/blob/master/Rotation/RotationAsync/src/com/commonsware/android/rotation/async/RotationAsync.java

如你看到的:

saxClientsHandler = 新 SaxClientsHandler();

调用存在 endElement 方法的 SaxClientHandler()。我正在尝试从那里发布进度。

@Mayra,您是否建议我将所有 saxClientHandler 代码迁移到 AsyncTask 中?

0 投票
1 回答
756 浏览

java - SAXBuilder 传递一个 HTTPS URL

有谁知道如何将 SAXBuilder 的https URL 作为参数解析。

此代码段适用于http URL。但是当涉及到https URL 时,这会给出 java.io.IOException: Hostname was not verifyed。任何帮助将不胜感激。

0 投票
3 回答
1565 浏览

android - Android:SAX 解析器进度监控

我有一个解析 InputStream的SAX DefaultHandler 。我不知道 XML 中有多少元素,所以我不能指望它们endElement或类似的元素。我确实知道(从 http 标头读取)的字节长度,InputStream但我找不到获取解析过程当前字节进度的方法。

有没有办法获得解析过程的当前进度(即处理的位)?

这就是DefaultHandler被调用的方式:

0 投票
1 回答
306 浏览

android - ANDROID SAX 解析器问题

由于我是 Java 编程新手,因此我需要一些帮助。我坚持这个问题,直到我让它工作才能继续。

我正在尝试从中创建一个包含首选项 int 的字符串。我保存了数据并可以显示 int(只是示例代码):

现在,我有一个 xml 解析器,它可以正确地将 url 作为静态字符串提取:

public static String feedUrl = String.format("http://www.freshpointmarketing.com/iphone/objects/XML/AND.php?ID=%d", 22);

效果很好...

现在我的问题......

我需要让首选项“int”成为字符串中的变量,从而使其不是静态的。

如果我取出所有静态引用,我会得到一个错误:

谢谢

0 投票
2 回答
4654 浏览

java - Java Sax XML Parser,解析 XML 标记中的自定义“值”?

我以前没有过多地使用 XML,所以也许我对正确术语的无知在我搜索如何做到这一点时伤害了我。我有下面的代码片段,我用它来解析下面的 XML 文件。问题是它只获取其中的 XML 值,<Tag>Value</Tag>但不获取下面我需要获取 的值的值TagValue,在这种情况下是"Russell Diamond".

如果有人可以就如何获得这样的自定义值提供帮助,我将不胜感激。谢谢。

我正在使用的片段:

0 投票
1 回答
1553 浏览

python - Jython 和 SAX 解析器:不允许超过 64000 个实体?

xml.sax在一个大型 XML 文件 (800 MB) 上对 Jython 中的解析器进行了简单测试,并遇到以下错误:

这个“应用程序施加的限制”有什么问题,我该如何覆盖它?

我尝试使用 Java XML 库nu.xom并遇到了同样的错误。

0 投票
2 回答
3160 浏览

android - Android - 使用 SAXParser 的通用 XML 解析器

我需要编写一个 XML 解析类,我可以在整个 Android 应用程序中重用它,并且从我读过的内容来看,SAXParser 是移动应用程序的最佳选择。我正在使用本指南:

http://www.jondev.net/articles/Android_XML_SAX_Parser_Example

我希望解析的文档类型是来自 Blogger GData API 的提要 - 例如:

我需要从上面的提要中解析博客 ID 和发布 ID。从我在 SAX 上找到的任何示例来看,它们根本不是通用的。我想写一个可重用的,你有什么例子我可以相应地修改 SAXParser 吗?

0 投票
2 回答
394 浏览

java - 如何实现两个解析器来解析一个xml?

解析xml时遇到问题。xml格式是这样的,

我不知道xml有多深......我可以使用两个sax解析器来解析这个xml,我读的是,调用MenuItemParser来解析,而我读的是,调用ItemsParser来解析???

0 投票
1 回答
1088 浏览

android - 无法从 android 应用程序中的 sax xml 解析中获取完整的视频 URL

由于我是 Android 开发新手,因此我在我的 Android 应用程序中使用了 SAX xml 解析。它工作正常,但在 URL 中,当它得到“&”符号时,它只是丢弃下一个所有 url 部分。我想不确定这个DefaultHandler类的 charcaters 方法的问题吗?

谢谢您的帮助。