XSLT를 사용하여 HTML 콘텐츠를 XML 구조로 긁어 내려고 노력 중입니다. XALAN (CLI)을 사용하여 HTML에 대해 내 xslt를 테스트했으며 결과에 만족했을 때 xslt 파일을 사용하고 변환기 (javax.xml.transform.TransformerFactory)를 사용하여 Java 코드에서 사용한 경우 실제 코드 & 스타일 시트와 비슷한 테스트 값이 아래에 나와 있습니다.xslt는 xalan cli에서 작동하지만 java 코드에서는 작동하지 않습니다
내 HTML 샘플 데이터 :
<html><body class='home'>
<div >Welcome !!</div>
<table border='0'><tr><td colspan='2'>asdas</td></tr>
<tr><td class='footer' colspan='2' align='center'>Disclaimer: The information provided below is for informative purpose only and it is not a legal document.</td></tr>
<tr><td colspan='2'>test;</td></tr>
<tr><td class='Home' width='50%' aligh='center'> number:</td><td class='Home' width='50%' aligh='center'>515120</td></tr><tr><td class='Home' width='50%' aligh='center'>Connection :</td><td class='Home' width='50%' aligh='center'>123.23</td></tr><tr><td class='Home'>period (month/year):</td><td class='Home'>04/2012</td></tr><tr><td class='Home'>Date:</td><td class='Home'>APRIL 08,2012, 21:35</td></tr> </table>
</body>
</html>
내 XSL에만 템플릿은 다음과 같습니다 자바 transofmer를 사용
<?xml version="1.0" encoding="UTF-8"?><usage_channel><head>Welcome !!</head><body/><footer> number:</footer></usage_channel>
결과 :의 Xalan을 사용
<xsl:template match="*">
<usage_channel>
<head><xsl:value-of select="//div/text()" /></head>
<body><xsl:value-of select="//td/font/text()" /></body>
<footer><xsl:value-of select="body/table/tr[contains(td,'number')]/td[1]/text()" /></footer>
</usage_channel>
</xsl:template>
결과 (CLI)
<?xml version="1.0" encoding="UTF-8"?>
<usage_channel>
<head>Welcome !!</head>
<body/>
<footer/>
</usage_channel>
td의 값을 잡으려고하는 모든 조합을 시도했지만 실패했습니다. 여기서 무엇이 누락 되었습니까?
1. 코드로 제공 한 것은 "스타일 시트"가 아닙니다. 단지 하나의 템플릿 일뿐입니다. 2. 코드 또는 XML 문서에 'usage_channel'이 없습니다. 즉, transformatin을 수행 한 결과를 얻었다는 진술은 사실이 아닙니다! 질문을 편집하여 의미 있고 모순이 없도록하십시오. 내 생각 엔 두 가지 경우에서 (XML 문서, XSLT 코드)의 다양한 조합을 사용했기 때문에 두 가지 결과가 왜 다른지 설명합니다. –
의견을 주셔서 감사합니다 (저는 값을 편집했습니다), 실제로 위의 값은 실제 값을 모방 한 더미 값입니다. – user1446584
"더미 값"이라면 제공된 두 가지 경우 모두에서 제공된 XML 문서에서 제공된 변환을 수행하지 않았다는 뜻입니까? 그렇다면 어떻게 각 사례의 실제 결과가 무엇인지 설명 할 수 있습니까? –