1

我想svg element用他的类名提取一个C# regex.

例如我有这个:

<path fill="none" ... class="highcharts-tracker highcharts-tracker" ... stroke-width="22" zIndex="2" style=""/>

我想使用以下方法删除每个带有highcharts-tracker类名的路径元素:

 new Regex("");

有人知道吗?

4

1 回答 1

4

在 LINQ to XML 中,这非常简单:

var classToRemove = "highlights-tracker";
var xml = XDocument.Parse(svg);
var elements = doc.Descendants("path")
                  .Where(x => x.Attribute("class") != null &&
                              x.Attribute("class")
                               .Value.Split(' ')
                               .Contains(classToRemove));
// Remove all the elements which match the query
elements.Remove();

您不应该使用正则表达式来尝试解析 XML... XML 可以由现有 API 很好地处理,并且正则表达式不是合适的工具。

编辑:如果它的格式不正确(您应该从一开始就说),您应该在尝试进行任何其他处理之前尝试找出它格式错误的原因并修复它。这些天来,XML 格式错误真的没有任何借口......几乎所有现有平台都有很多好的 XML API。

于 2013-05-06T09:50:14.387 回答