我GOOGLE了很多Java API来解析XML转换成HTML,但我从哪里开始困惑。我从来没有做任何XML解析任务。这是恢复解析第三方形式的XML数据输出,我必须将其转换为HTML。解析XML到HTML Java中
问候
我GOOGLE了很多Java API来解析XML转换成HTML,但我从哪里开始困惑。我从来没有做任何XML解析任务。这是恢复解析第三方形式的XML数据输出,我必须将其转换为HTML。解析XML到HTML Java中
问候
没有看看XSLT“解析为html”,也许你的意思是“转换为HTML”,在这种情况下服用。
XSLT是一种语言(用XML自己编写)将XML转换为另一种XML,而XHTML恰好是一种XML,所以使用XSLT可以从一种转换为另一种。
至于Java库来使用,你可以直接在JRE,即javax.xml.transform.TransformerFactory中和相关类使用类。否则,您可以直接使用XALAN(请参阅http://xalan.apache.org)或SAXON或Cocoon 3(http://cocoon.apache.org),它可以解析,转换并保存结果文件。
声明:我Sovren工作,简历/ CV分析器供应商。
通常有一个简历/ CV转换成HTML两种方法:直接从原始格式(DOC,DOCX,RTF,等)转换成HTML
转换,保留布局和外观原始的简历/简历。有许多通用文件转换工具可以做到这一点。一些简历/简历解析器供应商在其产品中包含了此功能(Sovren)。
解析恢复/ CV的数据提取到XML等结构化格式,然后变换成XML HTML。这种方法的优点是能够将各种各样的Resume/CV布局转换为用户的常见“品牌”布局。请咨询您的Resume/CV解析供应商,看他们是否提供用于将其XML转换为HTML,RTF等的XSLT模板。解析 - 恢复/ CV到XML然后转换XML到HTML的过程可以消除90%的人工努力,但要注意,您不应该计划将此过程作为100%自动化。即使是最好的Resume/CV解析器在解释一些 Resumes/CV时也会遇到问题,因此会出现一些奇怪的结果,并且您需要人工在将生成的HTML Resume/CV显示给客户端之前验证/编辑结果。
Sovren提供了用于将XML转换为其他格式的入门XSLT模板。我不能提供一个完整的XSLT模板,但这里是一个XSLT模板从HR-XML转换的ContactInfo数据重写的子集恢复到2.5 HTML:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:hr="http://ns.hr-xml.org/2006-02-28"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"
exclude-result-prefixes="xsl xsi hr">
<xsl:output method="xml"
media-type="text/html"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
indent="yes"
encoding="utf-8"/>
<xsl:template match="/">
<html>
<head>
<title>HTML Resume from HR-XML Resume 2.5</title>
<style type="text/css">
body { font-family: sans-serif; font-size: 10pt }
th { font-family: sans-serif; font-size: 10pt; font-weight: bold; padding-right: 16px; text-align: left;}
td { font-family: sans-serif; font-size: 10pt; padding-right:16px; }
h1 { font-family: sans-serif; font-size: 12pt; background-color: #FFFFCC; margin-top: 20px }
h2 { font-family: sans-serif; font-size: 10pt; font-style: bold; margin-top: 20px }
</style>
</head>
<body>
<p>
<img src="Logo.png" alt="" />
</p>
<xsl:for-each select="/hr:Resume/hr:StructuredXMLResume/hr:ContactInfo">
<h1>CONTACT INFORMATION</h1>
<p>
<b>
<xsl:value-of select="hr:PersonName/hr:FormattedName"/>
</b>
<br/>
<xsl:for-each select=".//hr:PostalAddress">
<xsl:text>Location: </xsl:text>
<xsl:value-of select="hr:Municipality"/>
<xsl:if test="string-length(hr:Municipality) > 0 and string-length(hr:Region) > 0">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:value-of select="hr:Region"/>
<xsl:if test="string-length(hr:Municipality) > 0 or string-length(hr:Region) > 0">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:value-of select="hr:CountryCode"/>
</xsl:for-each>
<br/>
<xsl:for-each select=".//hr:InternetEmailAddress">
Email: <a href="mailto:"><xsl:value-of select="."/></a>
<br/>
</xsl:for-each>
<xsl:for-each select=".//hr:Telephone/hr:FormattedNumber">
Phone: <xsl:value-of select="."/>
<br/>
</xsl:for-each>
<xsl:for-each select=".//hr:Mobile/hr:FormattedNumber">
Mobile: <xsl:value-of select="."/>
<br/>
</xsl:for-each>
<xsl:for-each select=".//hr:Fax/hr:FormattedNumber">
Fax: <xsl:value-of select="."/>
<br/>
</xsl:for-each>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
派好的实现我碰到[RChilli]来了(HTTP ://www.rchilli.com)并将它们整合到我们的客户端。他们的结构非常简单。必须尝试。关于就业能力,其简单但有时会给我们困难的时间嵌套的东西。 Daxtra很容易整合和伟大的prouct .. –