2012-12-21 118 views
0

目前我正在处理包含数十万个xml条目的巨大文件,在更改它们之后,我必须将它们作为新数据库在特定系统中上传,文件内容如下所示:删除某些XML文件条目

<Row ss:AutoFitHeight="0"> 
    <Cell><Data ss:Type="String">Product</Data></Cell> 
    <Cell><Data ss:Type="String">Home &gt; Connectors &gt; Power Entry</Data></Cell> 
    <Cell><Data ss:Type="Number">10430</Data></Cell> 
    <Cell><Data ss:Type="String">CAMDEN-BOSS CONTACT, 6AWG, 75A CBCAG14</Data></Cell> 
    <Cell><Data ss:Type="String">CONTACT, 6AWG, 75A; Connector Mounting:Cable; Contact Termination:Crimp; Current Rating:75A; SVHC:No SVHC (18-Jun-2012); Series:CBC; Voltage Rating:600V; Flammability Rating:UL94 V0; Wire Area Size Max:11mm; Wire Size AWG Max:6AWG; Wire Size AWG Min:6AWG&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Price for pack of: 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Country Of Origin: CN&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://LALA.co.uk/datasheets/1508502.pdf&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;/ekmps/shops/LALA/resources/Design/icon-pdf.gif&quot; style=&quot;width: 16px; height: 16px;&quot; /&gt;&amp;nbsp;Technical Data Sheet&lt;/a&gt;&lt;br /&gt;</Data></Cell> 
    </Row> 

我的工作是删除其中没有.pdf文件的任何链接的所有条目,上面的检查结果表明它会留下,但如果不存在“http://LALA.co.uk/datasheets/ 1508502.pdf“在描述中它应该被删除(所有行),我可以使用diferend的东西,从C#到..所以解决方案类型无关紧要,任何人都可以给我一些建议吗?

+0

你可能不能够在记事本++或正则表达式中做到这一点。在C#中逐行读取文件可能更容易,并跳过那些包含但不包含pdf的行。您可以使用纯字符串查找和无正则表达式来执行此操作 – Himanshu

+0

最糟糕的是我需要删除所有行,不仅是单元格行......我认为可以在记事本++中这样做,首先要更改文本行成为一行文本没有中断,然后用空白代替包含文本.pdf的行,你怎么看待它? – Tautvydas

回答

1

在记事本++查找(按Ctrl + F)

<Row[^>]*>((?!\.pdf).)*?</Row> 

(leave blank) 

“正则表达式” 替换和 “匹配换行符” 盒子必须检查

+0

谢谢,你救了我的一天\! – Tautvydas

+0

然后请接受这个答案。 – Himanshu

相关问题