【求助】C# 正则匹配word生成的xml标签

beckfun 2013-03-25 04:45:07
最近项目碰到了需要导出word但是大家都知道的,使用COM需要在服务器配置权限,且word进程不好控制,搜索到了一个解决方案,就是word另存为xml。
但是现在碰到一个问题。使用XmlPath搜索,但是这个xml又没什么Id之类的
分析了这个xml,觉得使用正则应该可以满足我的要求,

好了一大堆废话其实也就是想让以后同样需要使用word导出功能的童鞋么。做个标记。


现在是问题的正文:


<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00061023">
<w:pPr>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:hint="fareast"/>
<wx:font wx:val="Arial"/>
<w:b/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:b/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>产品编号</w:t>
</w:r>
</w:p>

我想要匹配这个<w:p></w:p>标签和内容,正则应该怎么写?

试了好多都不行,求助大牛。。
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜牛 2013-03-25
  • 打赏
  • 举报
回复
呃,不懂为啥不直接用DOM来操作?
江湖评谈 2013-03-25
  • 打赏
  • 举报
回复
<\w?\:\w{1,6}\s?\w?\:\w{1,5}=(["'|]?)\w{1,5}\1\s?\w?\:\w?\-\w{1,4}\=\1\w{1,5}\1\s?\w+\:\w{1,4}\=\1\w{1,7}\1\/> <\w{1,2}\:\w{1,4}\s?\w{1,2}\:\w{1,3}\=(["'|]?)\w{1,5}\1\/> <\w?\:\w{1,2}\s?\w?\:\w{1,3}\=(["']?)\d{1,2}\1\/> 56789行
江湖评谈 2013-03-25
  • 打赏
  • 举报
回复
<\w?\:\w{1,3}><\w?\:\w{1,2}\s?\w?\:\w{1,3}\=(["'|]?)\w{1,6}\1\/> 第二第三行第四行
江湖评谈 2013-03-25
  • 打赏
  • 举报
回复
<\w?:\w?\s+\w{1,3}\:\w{1,5}=["']?\d{1,8}["'|]?\s?\w{1,3}\:\w{1,13}=["'|]?\d{1,8}["'|]?> 匹配第一行
q107770540 2013-03-25
  • 打赏
  • 举报
回复
如果<w:p>有嵌套情况,可以使用平衡组来获取: (?is)<w:p\b[^>]*>(?><w:p\b[^>]*>(?<o>)|</w:p\b>(?<-o>)|(?:(?!</?w:p\b).)*)*(?(o)(?!))</w:p>
q107770540 2013-03-25
  • 打赏
  • 举报
回复
(?is)<w:p\b[^>]*?>.*?</w:p>

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧