非xml的DOM解析器

时间:2009-08-30 05:47:04

标签: java xml dom parsing

我想解析以下类型的文本。例1 <root>my name is <j> <b> mike</b> </j> </root>

示例2

<root> my name is   <mytag1 attribute="val" >mike</mytag1> and yours is <mytag2> john</mytag2> </root>

我可以使用DOM解析器解析它吗?我将不会有相同的格式evry time。我可以有不同格式的标签嵌套。我不提前知道格式。

2 个答案:

答案 0 :(得分:1)

这两个示例都是有效的XML文档,所以没有理由可以这样做。

如果您的XML非常简单,特别是如果它将文本和标签组合在一起,您可能希望首先通过XSL transformation运行它,以便更容易解析格式或将其转换为其他格式,例如作为HTML。

答案 1 :(得分:0)

您可以将DOM解析器用于您提供的示例 - 它们是有效的XML。但是,根据您的主题,您将无法将其用于非XML

当你说你可以拥有“嵌套标签的不同格式”时,你究竟是什么意思?如果它总是简单嵌套,例如

<root>
  <tag1>
    <tag2>
      <tag3>
        Stuff
      </tag3>
    </tag2>
  </tag1>
</root>

那就没关系了。但是,XML解析器不喜欢在“内部”标记之前关闭“外部”标记的标记:

<root>
  <tag1>
    <tag2>
      Stuff
    </tag1> <!-- Invalid -->
  </tag2>
</root>