У меня есть XML, и мне нужно преобразовать их в документ Microsoft Office (2007). Как лучше и быстрее всего это сделать? Я могу сделать это с помощью C # или Java. Я видел этот шпиль. Я могу сделать это, но это довольно дорого, есть ли альтернатива? Microsoft что-то предлагает?
Как конвертировать XML в MS Doc?
comment
На самом деле XML работает не так.
- person Chris Eberle   schedule 09.05.2012
comment
Что это за XML-документ?
- person Taymon   schedule 09.05.2012
comment
И какой офисный документ вы хотите? Электронная таблица? Слово? Силовая установка? Электронное письмо? Примечание?...
- person Andrew Barber   schedule 09.05.2012
comment
Может быть, открыть с помощью Excel, а затем скопировать прошлое в слово???
- person RThomas   schedule 09.05.2012
comment
мне нужно преобразовать его в документ Word, я могу отлично разобрать XML. Мне нужно создать документ Word с помощью кода. У меня есть много файлов XML (которые представляют собой некоторые результаты опроса), и мне нужно преобразовать их в документ.
- person Thiago Valle   schedule 09.05.2012
comment
stackoverflow.com/ вопросы/2757699/
- person Preet Sangha   schedule 09.05.2012
Ответы (1)
Вы можете использовать XSLT — хороший пример здесь в OneNotes Кристиана Нагеля.
Взяв этот 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:
<?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>
Можно сгенерировать этот документ MS Word для 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>
Чтобы сделать это в коде, см. этот ответ: https://stackoverflow.com/a/34095/30225
Что вам нужно сделать, либо использовать эквивалент для Office 2007 docx, либо просто создать документ 2003 года и позволить людям открывать его в 2007 году.
person
Preet Sangha
schedule
09.05.2012