2012-06-23 3 views
0

나는 2007 년 .docx 문서를 가지고있다. 끝에 확장자 ".zip"을 추가하여 zip 파일을 만들었습니다. 압축 파일을 추출 할 때 XML 파일이 들어있는 폴더가 거의 없었습니다. 나는 xsl 스타일 시트를 작성하기 위해 폴더에있는 모든 xml 파일을 결합하여 단일 xml 시트를 얻고 싶습니다. 나는 ".docx"파일을 열고 "xml로 저장"을 시도하지 않으려 고합니다. 그렇게 할 수있는 방법이 있습니까? 아니면 적어도 그 문서의 WordML 파일을 가질 수 있습니까? 그렇다면 어떻게. 미리 감사드립니다.2007 년 파일을 XML로 변환

+0

XML 파일의 구조는 무엇입니까? 어떤 출력물을 원하니? (당신은 병합을 말하지만, 어떻게 병합합니까? 어떤 스키마에 따라?) 무엇을 시도 했습니까? 기타 질문을 수정하십시오. – Utkanos

+0

@Utkanos 덕분에 질문을 편집했습니다. – harsh

+0

정말요? 나에게 변하지 않는 것처럼 보입니다. 아직 코드가 없습니다. – Utkanos

답변

0

압축 해제, 디렉토리 트리 워킹 및 줄 기반 텍스트 파일 처리를 지원하는 도구 (세트)를 사용하십시오. 먼저 아카이브의 디렉토리 구조를 보존하면서 단어 파일의 압축을 풉니 다. 다음에 디렉토리 워커를 풀고 디렉토리를 모두 열고 .xml.rels 파일을 모두 처리합니다. 첫 번째 줄 (xml 선언 포함) (예 : <?xml version="1.0" encoding="UTF-8" standalone="yes"?>)을 각각에서 삭제하고 차례대로 전역 출력 xml 파일에 연결합니다. 첫 번째 줄에는 xml 선언 자체가 포함되어야합니다. 도구가 xml 파일의 문자 집합 인코딩 (utf-8이어야 함)을 준수하는지 확인하십시오.

Perl 패키지 File::FindArchive::Zip이 작업을 위해 편리 올하지만 당신은 당신의 작업은 표준 CLI 도구 끝낼 수 있습니다 (우편/발견, 압축 해제 고양이, 나오지도).

당신은 ID 충돌을 피하기 위해 일부 합성 구별되는 특성으로 .rels 파일의 맨 Relationships 요소를 보완 할 수 있습니다 - 대부분의 관계 항목의 적용이 Type 속성에 주어진 고유해야하지만 MS가 스펙이 있는지 여부에 약간 모호한 표시 사무실 자체는 같은 종류의 모든 관계 항목에 대해 고유 한 ID를 보장합니다 (또는 사양을 철저히 읽지는 않았습니다 ...). 관련된 non-xml 파일 (그래픽, vba 코드)의 이름은 [Content_Types].xml과 관계 파일에 표시됩니다.

(아직) 도움이, 안부, 카스텔