我有这个HTML标签:
<div id="23a521b6-5a90-4257-9ee3-17a2cbe8a8fc" jquery17208007497985234224="13" jquery172080076755224="4"></div>
我需要帮助来选择这个div,其中属性名称是jquery *进行清理,最终结果将是:
<div id="23a521b6-5a90-4257-9ee3-17a2cbe8a8fc"></div>
谢谢, 查帕斯
答案 0 :(得分: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>
答案 1 :(得分: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>