office2003以上,word可以以xml文字格式儲存,這樣就可以使用外部程式建立word檔案,而不需要使用word的物件。也能夠自由的開啟分析word檔案,或者發布到自己的web頁面,或者其他更多應用。
乙個典型的wordxml結構可以是如下的樣子:
<?xml version="1.0"?>
hello, world.
< /w:worddocument>
可以用記事本建立乙個檔案,將上面的xml內容貼上,並儲存為helloworld.xml,在office word中開啟它,就能看到如上圖所示的內容。
這是最簡單的wordxml內容,它包括這幾部分:
xml的宣告和命名空間的指明:
<?xml version="1.0"?>
文件內容
…從body內可以看出,構成實際文字內容的有3種型別節點:
表示乙個段落
表示乙個樣式串,指明它包括的文字的顯示樣式
表示真正的文字內容
如果我們需要指明乙個文字為粗體,需要怎麼辦呢?
2.0c
< /w:r>
表示該格式串種的文字為粗體。
這樣,我們就知道表示乙個特定的文字格式,稍微複雜點的格式:
< w:rpr>
< w:b w:val="on"/>
< w:sz w:val="40"/>
< w:rfonts w:ascii="arial" w:eastasia="arial" w:hansi="arial" />
< /w:rpr>
< w:t xml:space="preserve">2.0c
< /w:r>
字型為粗體,尺寸為是40除2等於20相當於幾號字型?,字型名稱「arial」
2.0c
中的xml:space="preserve"從字面上理解是保持空格。
如果沒有這內容的話文字的前後空格將會被word忽略。
如果我們需要指定乙個段的對齊方式,行距要怎麼辦呢?
這就要設定的屬性了。類似於這樣:
< w:ppr>
< w:jc w:val="right"/>
< w:spacing w:line="600" w:linerule="auto"/>
< /w:ppr>
…對齊方向:這兒是右對齊。
行距:600是用行距的倍數乘240得出,如果是兩倍行距,則是480。這兒應該是2.5倍行距。
由此可見,組裝乙個wordxml格式的檔案是一件比較簡單的事情。
將段屬性包含在中
將文字格式包含在中
這兒的pr是property的意思,表示這個塊中是r(run)或p(paragraph)的格式設定。
乙個wordxml的檔案結束了嗎?可以這樣講,但如果你雙擊剛才建立的xml檔案,有很大機會不會由word來開啟它。
這是為什麼呢?
我們還需要在合適的地方放置一條語句:
用來指明這個xml檔案的對應處理程式,對應登錄檔中的鍵值:
hkey_local_machine\software\microsoft\office\11.0\common\filter\text/xml
但是,加入這一條語句後,雙擊開啟時,word將會提示xml的格式不正確,雖然能開啟。那是因為還有許多的內容沒有宣告。我們就先不加這條語句。
下面內容設定了頁的寬,高,和頁的各邊距。各項的值均是英吋乘1440得出:
…
< /w:sectpr>
下面內容設定了頁的頁首頁尾:
w:sectpr wsp:rsidr="002c452c">
my header
my footer
< /w:body>
這兩段都很直白,就不需要解釋了。
< /w:docpr>
docpr,就是document property的意思了。
表示文件的檢視是「print」,檢視比例100%
xmlns:dt="uuid:c2f41010-65b3-11d1-a29f-00aa00c14882"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w=""
xmlns:wx=""
xmlns:wsp="/sp2"
xmlns:sl=""
w:macrospresent="no" w:embeddedobjpresent="no" w:ocxpresent="no"
xml:space="preserve">
< w:p>
< w:ppr>
< w:jc w:val="left"/>
< w:spacing w:line="240" w:linerule="auto"/>
< /w:ppr>
< w:r>
< w:rpr>
< w:sz w:val="24"/>
< w:rfonts w:ascii="arial" w:eastasia="arial" w:hansi="arial" />
< /w:rpr>
< w:t>niu don't like red or blue! it seems that
< /w:r>
< w:r>
< w:rpr>
< w:sz w:val="48"/>
< w:rfonts w:ascii="arial" w:eastasia="arial" w:hansi="arial" />
< /w:rpr>
< w:t>hello world!
< /w:r>
< /w:p>
< w:p>
< w:pgsz w:w="12240" w:h="15840"/>
< w:pgmar w:top="1526.4" w:right="3254.4" w:bottom="2966.4" w:left="1670.4" w:header="720" w:footer="720" w:gutter="0"/>
< w:hdr w:type="odd" >
< w:p>
< w:ppr>
< w:pstyle w:val="header"/>
< /w:ppr>
< w:r>
< w:t>header
< /w:r>
< /w:p>
< /w:hdr>
< w:ftr w:type="odd">
< w:p>
< w:ppr>
< w:pstyle w:val="footer"/>
< /w:ppr>
< w:r>
< w:t>footer
< /w:r>
< /w:p>
< /w:ftr>
< /w:sectpr>
< /w:body>
< w:view w:val="print"/>
< /w:docpr>
< /w:worddocument>
這樣,乙個基本的wordxml就建立完成,當然,乙個應用級別的word文件絕對不僅這些內容,更詳細的內容需要參考ms office sdk。
WordXML格式初步分析
前言 office2003以上,word可以以xml文字格式儲存,這樣就可以使用外部程式建立word檔案,而不需要使用word的物件。也能夠自由的開啟分析word檔案,或者發布到自己的web頁面,或者其他更多應用。乙個典型的wordxml結構可以是如下的樣子 hello,world.可以用記事本建立...
wordxml文件格式說明
近期需要對word xml文件進行各種操作,需要熟悉 wordxml 文件格式,搜尋了一番後發現 open xml sdk 官網的文件最好。就按照官網說明來記錄一番 1 word xml 文件基本格式如下。文件是有多個部件組成,每個部件表示資料報中的乙個單獨檔案。每個文件部分都是以pkg part標...
學習 WordXML格式初步分析
前言 office2003以上,word可以以xml文字格式儲存,這樣就可以使用外部程式建立word檔案,而不需要使用word的物件。也能夠自由的開啟分析word檔案,或者發布到自己的web頁面,或者其他更多應用。乙個典型的wordxml結構可以是如下的樣子 hello,world.可以用記事本建立...