2014-10-29 74 views
0

我有一個格式化的單詞XML文檔,我需要PHP在將文檔輸出到用戶之前將數據插入到該文檔中。但是XML很混亂,文本被分成幾個部分。 是否有合併運行的方法,以便文本在XML中可以再次讀取,並且我可以替換XML文檔中的文本?在MS Word XML中多次運行中合併文本

這裏是拆分文本例如XML的一部分:

<w:r w:rsidR="00651D23"> 
<w:rPr> 
<w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/> 
<w:sz w:val="20"/> 
<w:szCs w:val="20"/> 
</w:rPr> 
<w:t>Broke</w:t> 
</w:r> 
<w:r w:rsidR="00433EDE" w:rsidRPr="002A1163"> 
<w:rPr> 
<w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/> 
<w:sz w:val="20"/> 
<w:szCs w:val="20"/> 
</w:rPr> 
<w:t>n part of text</w:t> 
</w:r> 
</w:p> 

理想它會成爲這樣的:

<w:r w:rsidR="00651D23"> 
<w:rPr> 
<w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/> 
<w:sz w:val="20"/> 
<w:szCs w:val="20"/> 
</w:rPr> 
<w:t>Broken part of text</w:t> 
</w:r> 
</w:p> 
+0

如何知道文本在哪裏開始和結束? IOW,發佈一個最小的,但**完整的例子。 – 2014-10-29 10:12:13

+0

將'w:p'內的文本拆分爲幾個'w:r'是OOXML文檔的正常預期行爲。運行可能具有不同的屬性(在'w:rPr'內) - 您將分配給合併運行的運行屬性是什麼?爲什麼使用PHP插入數據需要首先合併運行? – 2014-10-29 10:16:04

+0

@ michael.hor:我不太熟悉XML結構這個詞,這是我第一次嘗試這樣做。文檔很大,需要非常具體的標記,需要在線爲用戶提供服務。對我來說,讀取XML文檔,在文檔中插入數據並將其傳輸到瀏覽器似乎更容易,因此用戶可以將其保存到計算機中,而不是使用php構建整個文檔,包括所有數據和標記,向上。 合併將受到歡迎,以便文檔變得更好可讀,以便找到插入點 – user1689585 2014-10-29 10:56:39

回答

0

如果您對爲您處理此類問題的第三方庫感興趣(但需要Java),請查看Templater

聲明:我是作者。