1

我有这个 HTML 标签:

<div id="23a521b6-5a90-4257-9ee3-17a2cbe8a8fc" jquery17208007497985234224="13"  jquery172080076755224="4"></div>

我需要帮助来选择属性名称为 jquery* 的 div 进行清理,最终结果将是:

<div id="23a521b6-5a90-4257-9ee3-17a2cbe8a8fc"></div>

谢谢,伙计们

4

2 回答 2

1

不确定您为此使用了什么技术,但要使用 XSLT 摆脱这些属性,请执行以下操作:

<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="@*|node()">
  <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
</xsl:template>
<xsl:template match="@*[starts-with(local-name(), 'jquery')]"/>
</xsl:transform>
于 2012-04-19T13:49:50.040 回答
0

我会选择所有以字符串开头的属性jquery,然后使用 AgilityPack 删除它们:

var doc = new HtmlDocument();
doc.LoadHtml(html);
var attributes = doc.DocumentNode
    .Descendants()
    .SelectMany(n => n.Attributes.Cast<HtmlAttribute>())
    .Where(a => a.Name.StartsWith("jquery"))
    .ToArray();

foreach (var attribute in attributes)
    attribute.Remove();

这会给你类似的东西:

<div id="23a521b6-5a90-4257-9ee3-17a2cbe8a8fc"></div>
于 2012-04-19T12:03:40.970 回答