如何使用PHP将Word文档转换为XML?

时间:2010-08-16 07:38:53

标签: php xml

我想将Word文档(.doc和.docx)转换为XML。我怎么能用PHP做到这一点?

完成后,我必须在该XML文件中添加一些数据。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

Word文档(docx)是xml文件。只需解压缩即可。

答案 1 :(得分:0)

<?php
$zip = new ZipArchive; // creating object of ZipArchive class.
$sUploadedFile = 'publisher.docx';
$zip->open("word_document/$sUploadedFile");
$aFileName = explode('.',$sUploadedFile);
$sDirectoryName =  current($aFileName);

if (!is_dir("word_document/$sDirectoryName")){
    mkdir("word_document/$sDirectoryName");
    $zip->extractTo("word_document/$sDirectoryName"); 
    copy("word_document/$sDirectoryName/word/document.xml", "xml_document/$sDirectoryName.xml");

    $xml = simplexml_load_file("xml_document/$sDirectoryName.xml");
    $xml->registerXPathNamespace('w',"http://schemas.openxmlformats.org/wordprocessingml/2006/main");
    $text = $xml->xpath('//w:t');

    echo '<pre>'; print_r($text); echo '</pre>';

    rrmdir("word_document/$sDirectoryName");
}

function rrmdir($dir) {
  if (is_dir($dir)) {
    $objects = scandir($dir);
    foreach ($objects as $object) {
      if ($object != "." && $object != "..") {
        if (filetype($dir."/".$object) == "dir") 
           rrmdir($dir."/".$object); 
        else unlink   ($dir."/".$object);
      }
    }
    reset($objects);
    rmdir($dir);
  }
 }

?>

答案 2 :(得分:-1)

通过PHP创建xml文件的最佳方法是XML DOM类。

http://www.w3schools.com/php/php_xml_dom.asp