我想将XPS中的fpage元素的XML结构读作Stream。
所以要进一步解释我想做什么:
如果您保存.xps,则可以将其重命名为zip存档,然后您可以阅读xml,例如
xps \ Documents \ 1 \ Pages \ 1.fpage
现在我想在我的C#程序中阅读这个xml结构
因为保存到光盘,重命名,导航,提取,读取,删除不是一个很好的选择,我已经将此xps文件作为我的程序中的流提供。
所以问题是如何从流中访问这个XPS结构并读取它的xml?
答案 0 :(得分:1)
所以,如果我自己找到了答案(如果你知道如何^^那就很难)。
您需要 System.IO.Packaging.Package 和 ReachFramework 参考,然后创建一个新的XpsDocument,并通过XmlReader读取XML结构。
阅读第一页的小样本:
import re
rx = r"(?i)fax\W*\d[\s\d]*|(\d[ \d]*\d)"
s ="text\nAdresse quai du Sa fax 06 32 32 32 33 rtel – 59100 ROUBAIX| FRANCE\nfaTel : 0 8 99 70 1761 – Fax : 06 32 32 32 34\nMail :support@domain.com\n06 32 32 32 35\n\nFax 06 32 32 32 36\ntel 06 32 32 32 37 henrg"
res = filter(None, re.findall(rx, s))
print(res)
# => ['59100', '0 8 99 70 1761', '06 32 32 32 35', '06 32 32 32 37']