2012-05-09 2 views
0

XML이있어서 Microsoft Office 문서 (2007)로 변환해야합니다. 가장 좋은 방법은 무엇입니까? C# 또는 Java를 사용하여이 작업을 수행 할 수 있습니다. 나는 그 첨탑을 보았다. 할 수는 있어도 비싸지 만, 대안이 있을까요? Microsoft는 무언가를 제공합니까?XML을 MS Doc으로 변환하는 방법?

+0

정말 XML이 작동하는 방식이 아닙니다. –

+0

어떤 종류의 XML 문서입니까? – Taymon

+0

그리고 어떤 종류의 "오피스 문서"를 원하십니까? 스프레드 시트? 워드? 파워 포인트? 이메일? 참고? ... –

답변

4

XSLT를 사용할 수 있습니다. Christian Nagel의 OneNotes에는 here이라는 멋진 샘플이 있습니다.

이 XML

<?xml version="1.0" encoding="utf-8" ?> 
    <Courses> 
    <Course Number="MS-2524"> 
     <Title>XML Web Services Programming</Title> 
    </Course> 
    <Course Number="MS-2124"> 
     <Title>C# Programming</Title> 
    </Course> 
    <Course Number="NET2"> 
     <Title>.NET 2.0 Early Adapter</Title> 
    </Course> 
    </Courses> 

촬영 그리고이 XML 스타일 시트 사용 : 2003

<?xml version="1.0" encoding="utf-8"?> 
<?mso-application progid="Word.Document"?> 
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"> 
    <w:body> 
    <w:p> 
     <w:r> 
     <w:t>MS-2524, XML Web Services Programming</w:t> 
     </w:r> 
    </w:p> 
    <w:p> 
     <w:r> 
     <w:t>MS-2124, C# Programming</w:t> 
     </w:r> 
    </w:p> 
    <w:p> 
     <w:r> 
     <w:t>NET2, .NET 2.0 Early Adapter</w:t> 
     </w:r> 
    </w:p> 
    </w:body> 
</w:wordDocument> 

이 MS 워드 문서를 생성 할 수

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"> 
<xsl:output method="xml" indent="yes" /> 
<xsl:template match="/"> 
    <xsl:processing-instruction name="mso-application"> 
    <xsl:text>progid="Word.Document"</xsl:text> 
    </xsl:processing-instruction> 
    <w:wordDocument> 
    <w:body> 
    <xsl:apply-templates select="Courses/Course" /> 
    </w:body> 
    </w:wordDocument> 
</xsl:template> 
<xsl:template match="Course"> 
    <w:p> 
    <w:r> 
     <w:t> 
     <xsl:value-of select="@Number" />, <xsl:value-of select="Title"/> 
     </w:t> 
    </w:r> 
    </w:p> 
</xsl:template> 
</xsl:stylesheet> 

은 코드에서 볼 수행 이 답변 : https://stackoverflow.com/a/34095/30225

Office 2007 docx 용으로 동일한 기능을 사용하거나 2003 년 문서를 생성하여 사람들이 2007 년에 열어 보도록하십시오.

관련 문제