我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 .. –