2010-04-11 43 views
2

我試圖用openxml sdk生成「Hello World」。令我驚訝的是,當試圖打開xml文檔時,它不是純粹的文本格式,但它包含一些醜陋的二進制文件。openxml選項完全以文本格式?

當內容僅爲文本時,是否有任何選項可以具有文本格式?

如果它被認爲是「開放的」,我看不到任何二進制部分的基本原理。

更新:我的錯誤我不知道docx只是一個zip文件。如果我解壓縮它,我會得到開放的XML格式。所以Openxml真的是開放的。

回答

2

OpenXML格式是具有XML元數據和XML以及二進制內容的歸檔文件(確切地說是ZIP)。

這很有意義,因爲在文本XML中包含二進制數據(如圖像,聲音,嵌入對象等)效率相當低。名稱中的「開放」來自MS市場營銷部門,因爲格式標準化並且有據可查。

查看System.IO.Packaging命名空間,您會發現創建,讀取和修改OpenXML程序包所需的一切。

+0

我不知道它是一個zip文件,因此它是二進制的邏輯。我只是想解壓縮謝謝微軟:) – user310291 2010-04-11 14:04:25

1

OpenXML不是純文本。如果您的文件是純文本,請將其保存爲文本文件。

這可以通過System.IO.File.WriteAllText完成。

+0

我想用表格等創建複雜文檔。如果它被認爲是「打開」的,我看不到任何二進制部分的基本原理。 – user310291 2010-04-11 12:01:37

+0

「按理說」是正確的。 – Oded 2010-04-11 13:15:26