【问题标题】:Removing certain XML file entries删除某些 XML 文件条目
【发布时间】:2012-12-21 09:17:56
【问题描述】:

目前我正在处理包含数十万个 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”在描述中它应该被删除(所有行),我可以处理不同的东西,从 C# 到.. 所以解决方案类型真的不重要,有人能给我建议吗?

【问题讨论】:

  • 您可能无法在 notepad++ 或 regexes 中执行此操作。在 C# 中逐行读取文件并跳过那些包含 但不包含 pdf 的行可能更容易。您可以使用纯字符串查找而不使用正则表达式来做到这一点
  • 最糟糕的是我需要删除所有行,而不仅仅是单元格行...我认为可以在记事本++中这样做,首先更改该行的文本将是一行文本没有中断,然后将包含文本 .pdf 的行替换为空,你怎么看?

标签: xml notepad++


【解决方案1】:

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

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

替换为

(leave blank)

必须选中“正则表达式”和“.matches newline”框

【讨论】:

  • 谢谢,你拯救了我的一天\!
猜你喜欢
  • 1970-01-01
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
  • 2014-07-31
  • 2014-02-05
  • 1970-01-01
  • 1970-01-01
  • 2013-07-31
相关资源
最近更新 更多