如何注释掉里面有注释的XML部分?
以下内容不起作用,只会注释掉stuff0:
<!--
stuff0
<!-- stuff1 -->
stuff2
<!-- stuff3 -->
stuff4
<!-- stuff5 -->
stuff6
-->
Run Code Online (Sandbox Code Playgroud)
我知道你不应该这样做。我的意思是,按照XML规范,您不应该这样做。停止阅读此答案。这是骇客!
话虽如此...我真的很需要它,所以这是窍门。用未使用的处理指令将要注释的部分括起来:
<some-tags />
<?comment
<!-- traditional comment 1 -->
<badtag prop1="123">
<!-- traditional comment 2 -->
</badtag>
<!-- traditional comment 3 -->
?>
<rest-of-my-tags />
Run Code Online (Sandbox Code Playgroud)
您可以使用任何未使用的处理指令。我选择“注释”作为未使用的处理指令,因此我以开头大注释,<?comment以结尾?>。
几乎所有单词都可以用作处理指令,因为大多数时候并没有真正使用它们。我的意思是,您最后一次使用它是什么时候?
--XML注释中不允许使用.您可以在两者之间添加空格-.如果你想以编程方式进行,XSLT可能会为你完成这项工作.例如,以下XSLT:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<a>
<xsl:comment select="'a -- b -- c'"/>
</a>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
给出以下输出:
<a><!--a - - b - - c--></a>
Run Code Online (Sandbox Code Playgroud)
但是XSLT处理器也可能输出错误.根据规范,由实现来添加空间或引发错误.
| 归档时间: |
|
| 查看次数: |
18616 次 |
| 最近记录: |