我想解析以下类型的文本。例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。我可以有不同格式的标签嵌套。我不提前知道格式。
答案 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>