【问题标题】:Parsing Java String with SGML使用 SGML 解析 Java 字符串
【发布时间】:2010-07-07 09:41:25
【问题描述】:

我有一个带有 SGML 的 Java 字符串,类似这样...

<misspell></misspell><plain>I</plain> <plain>know</plain> <plain>you</plain> <suggestion>ducky</suggestion> <plain>suck</plain> <plain>and</plain> <plain>I</plain> <plain>rocky</plain> <plain>rock</plain>

我如何解析它以获取例如 &lt;suggestion&gt; &lt;/suggestion&gt; 中的文本以获取“鸭子”??

javax.swing.text.html.parser.Parse 会有帮助吗?或者我只能用它解析 HTML 文档?

【问题讨论】:

    标签: java parsing sgml


    【解决方案1】:

    您显示的字符串不是 HTML,但可以被 an XML parser 解析。

    SAX API 是 JDK 的一部分,AFAIK 大多数 XML 解析器都实现了它。

    【讨论】:

    • 它只是一个普通的字符串。SAX API(javax.xml.parsers) 可以工作吗?
    • @Myth,来自Javadoc:“可以从各种输入源解析 XML。这些输入源是 InputStreams、Files、URL 和 SAX InputSources”。并且似乎可以使用 StringReader 构造 InputSource。
    【解决方案2】:

    尝试使用 html 解析器,它们(必然)非常容忍格式错误的标记,并且 html 本质上是基于 SGML。

    例如http://htmlparser.sourceforge.net/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2021-03-06
      相关资源
      最近更新 更多