我想解析一个非纯xml的文档。例如
my name is <j> <b> mike</b> </j>
示例2
my name is <mytag1 attribute="val" >mike</mytag1> and yours is <mytag2> john</mytag2>
表示我的输入不是纯xml。 IT类似于html,但标签不是html。 我如何在java中解析它?
答案 0 :(得分:5)
您的示例是有效的XML,但缺少文档元素。如果您始终知道这一点,那么您可以在整个事物周围包装一组虚拟标记并使用标准解析器(SAX,DOM ...)
另一方面,如果你得到更丑陋的东西(例如标签不匹配,或者以重叠的方式间隔开),你将不得不做一些自定义的事情,这将涉及你必须遵守的一些规则决定这将是您的应用程序的独特之处。 (例如,如何处理没有关闭的开始标记?如果结束标记位于父标记之外,我该怎么办?)
答案 1 :(得分:0)
很少有解析器使用格式不正确的html并将其转换为格式良好的xml,这里有一些comparison with examples,其中包括最受欢迎的HTML,除了HTMLParser。可能这就是你所需要的。