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

文字列で始まるすべての属性を選択し、jqueryAgilityPack を使用してそれらを削除します。

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 に答える