我有一个用例,我想在其中解析以下类型的XML文件并从中创建HTML报告。
<?xml version = '1.0'?>
<outer tag>
<first_tag>
<some Random xml tag>
<another tag>
</another tag>
</some Random xml tag>
</first_tag>
<first_tag>
<some Random xml tag>
<another tag>
</another tag>
</some Random xml tag>
</first_tag>
<second_tag>
<some Random xml tag>
<another tag>
</another tag>
</some Random xml tag>
</second_tag>
这种XML结构的问题在于我只知道整个XML将包装在外部标记中,而第二级标记只能是first_tag或second_Tag。我不知道这些二级标签内部会发生什么。
我的html应该是这样的:
Elements inside outer_tag
First_tag children
" <some Random xml tag>
<another tag>
</another tag>
</some Random xml tag> " // XML structure itself
First_tag children :
" <some Random xml tag>
<another tag>
</another tag>
</some Random xml tag> " // XML structure itself
Second_Tag children :
" <some Random xml tag>
<another tag>
</another tag>
</some Random xml tag> " // XML structure itself
我尝试了jaxb和其他XML解析器。由于我不知道内部结构,我发现很难写出算法。有人可以帮我吗?
答案 0 :(得分:0)
在这种情况下,XSL转换会很有用。 XSLT通常用于将XML转换为HTML等其他格式。这是一个可以满足您需求的转换:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output indent="yes"/>
<xsl:template match="first_tag|second_tag">
<xsl:copy-of select="./*"/>
</xsl:template>
</xsl:transform>