首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用Java实现的SGML解析器?

用Java实现的SGML解析器?
EN

Stack Overflow用户
提问于 2011-02-02 05:02:36
回答 6查看 8.4K关注 0票数 20

我正在寻找一个用编写的解析器,它可以解析一个用SGML格式化的文档。

对于重复监视器:我知道有另外两个讨论此主题的帖子:Parsing Java String with SGML Java SGML to XML conversion?,但这两个帖子都没有解决方案,因此出现了新的主题。

对于那些混淆XML和SGML的人:请阅读这个:http://www.w3.org/TR/NOTE-sgml-xml-971215#null (简而言之,有足够的细微差别至少使它在普通形式中不可用)

对于那些喜欢让发帖者搜索它的人来说:我已经搜索过了,我能想到的最接近的是广受欢迎的SAXParser:http://download.oracle.com/javase/1.4.2/docs/api/javax/xml/parsers/SAXParser.html,但它当然是一个XML解析器。我四处看看是否有人实现了SAX解析器的修改以适应SGML。

最后,我不能使用SX,因为我正在寻找Java解决方案。

谢谢!:)

EN

回答 6

Stack Overflow用户

发布于 2011-03-07 21:53:52

我有几种方法来解决这个问题

第一个是您所做的--检查sgml文档是否足够接近XML,以便标准SAX解析器工作。

第二种方法是对HTML解析器执行相同的操作。这里的诀窍是找到一个不会忽略非HTML元素的元素。

在搜索"sgml解析器Java“时,我确实找到了一些Java SGML解析器,更详细。我不知道它们的效果如何。

最后一步是使用标准(非Java) SGML解析器,并将文档转换为您可以用Java阅读的内容。

看起来你已经可以开始第一步了。

票数 4
EN

Stack Overflow用户

发布于 2013-02-18 19:24:15

我通过JNI使用OpenSP,因为似乎没有纯Java SGML解析器。我已经编写了一个类似于SAX的实验性包装器,可以在http://sourceforge.net/projects/sasgml上获得(当然,它具有JNI...但足以满足我的需求)。

另一种方法是使用Open SP中的sx将文档转换为XML,然后运行传统的SAX解析器。

票数 2
EN

Stack Overflow用户

发布于 2012-02-15 23:55:16

目前还没有使用Java解析SGML的api。也没有任何api或库可以将SGML转换为XML,然后使用Java对其进行解析。到目前为止,在我从事的所有项目中,SGML的地位正在被XML取代,我认为在这一领域不会有任何工作完成,但这只是一种猜测。

Here是来自一所大学的一些开源代码,但是我还没有尝试过它,您必须搜索以找到其他相关的类。我认为Java中唯一可行的解决方案是使用正则表达式。

另外,这是一个用于公共SGML/XML软件的link

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4867894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档