使用DB2 9 pureXML管理ODF和Microsoft Office 2007 文档
2007-09-13 16:22:38 来源:WEB开发网我还在下载小节中包括了一个 submit.docx 文档,该文档使用 MS Office 2007 格式。图 2 显示这个文档在 Word 中的样子。和 ODF 一样,该文档利用 “Heading 1” 和 “Heading 2” 之类的 Word 样式作为格式。然后,我们将查询 Heading 2 样式。
图 2. OpenOffice 或 MS Word 中显示的示例文档
下面的 PHP 代码使用了这个文档,它对 ZIP 清单中的项进行遍历,并提取具有相关数据的 XML 文档。清单 4 提供了该代码。将该代码保存为 “odfconsume.php”,以便后面引用。
清单 4. 使用 OpenOffice (ODF) 格式 (odfconsume.php) 的 PHP 代码
<?php
$user = "db2admin";
$password = "secret";
$zip = zip_open("c:opendoc.odt");
$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=ODF;" .
"HOSTNAME=localhost;PORT=50000;PROTOCOL=TCPIP;", $user, $password);
echo $user." Connected
";
if ($zip) {
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry, "r")
&& zip_entry_name($zip_entry) == 'content.xml' ) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
$insstr ="INSERT INTO DB2ADMIN.DOCUMENT (ID,OWNER,DOC)
VALUES (2,'Linux Office',:buf)";
$stmt = $db->prepare( $insstr );
$stmt->bindParam( ':buf' , $buf , PDO::PARAM_LOB , strlen($buf) );
$stmt->execute();
echo "
Result: ".$db->errorCode()."
";
zip_entry_close($zip_entry);
}
echo "
";
}
zip_close($zip);
}
?>
更多精彩
赞助商链接