2017-01-05 1 views
0

저는 Wouter van Vugt가 "Open XML, 마크 업 설명"을 읽었습니다. "Wordprocessing ML"장에서는 여러 xml 파트 파일을 작성하고 압축 한 다음 * .docx로 이름을 바꾸어 간단한 docx 파일을 수동으로 작성하는 방법을 설명합니다.
지시를 정확하게 따라 왔지만 Open XML SDK 생산성 도구로 최종 * .zip 파일을 열려고하면 "파일을 열 수 없습니다 : 지정된 파일 형식이 지원되지 않습니다."라는 오류가 나타납니다.
MS Word에서 docx 파일을 만들려고했는데 * .zip으로 이름을 바꾼 다음 Productivity Tool로 엽니 다. 그것은 일했다. 이 파일에는 수동으로 생성되는 훨씬 많은 부분이 있지만 설명 부분은 실제로 동일합니다. 내가 뭘 잘못하고 있니?
P .: 예, OOXML은 XML 내용을 수동으로 생성하지 않고 .NET 호환 코드를 통해 만들어야한다는 것을 알고 있습니다. 하지만 그 구조를 이해하려고 노력하고 있습니다. 이해하지 못합니다. 생성 된 파일의수동으로 생성 된 OpenXML docx 파일을 열 수 없습니다.

내용 :

[콘텐츠 유형] .XML :

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"> 
    <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /> 
    <Default Extension="xml" ContentType="application/xml" /> 
    <Override PartName="/Document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.mainxml" /> 
</Types> 

Document.xml :

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> 
    <w:body> 
     <w:p> 
      <w:r> 
       <w:t>Hello World!</w:t> 
      </w:r> 
     </w:p> 
    </w:body> 
</w:document> 

.rels :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> 
    <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="Document.xml" /> 
</Relationships> 

답변

0

가정 파일 구조는 다음과 같다. lowing :

_rels 
    .rels 
[Content_Types].xml 
Document.xml 

는 그런 다음 마지막 'ContentType이'의 끝에서 단순히 아마 누락 된 '+'를의 내부 [CONTENT_TYPES] .XML :

<Override PartName="/Document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" /> 

(사용 주 + XML을을 ' '대신'mainxml ').

관련 문제