如何在XML中注释掉一个标记块?
如何在XML中注释掉一个标记块?
也就是说,我如何在下面的代码中注释<staticText>
和它里面的所有内容?
<detail>
<band height="20">
<staticText>
<reportElement x="180" y="0" width="200" height="20"/>
<text><![CDATA[Hello World!]]></text>
</staticText>
</band>
</detail>
我可以使用<!-- staticText-->
但是这仅仅用于单个标签(就像我所知道的),比如像Java和C中的//
我想要更像/** comment **/
可以用于Java和C,所以我可以注释掉更长的XML代码块。
您可以在多行中使用该风格的评论(也存在于HTML中)
<detail>
<band height="20">
<!--
Hello,
I am a multi-line XML comment
<staticText>
<reportElement x="180" y="0" width="200" height="20"/>
<text><![CDATA[Hello World!]]></text>
</staticText>
-->
</band>
</detail>
如果你问,因为你的<!-- -->
语法错误,它最有可能是CDATA部分(和那里]]>
部分),然后位于注释的中间。 它不应该有所作为,但理想世界和现实世界可能会相差很远,有时(特别是在涉及到XML处理时)。
尝试改变]]>
:
<!--detail>
<band height="20">
<staticText>
<reportElement x="180" y="0" width="200" height="20"/>
<text><![CDATA[Hello World!]--><!--]></text>
</staticText>
</band>
</detail-->
另一件事,想到:如果您的XML内容包含两个连字符,则该注释会立即结束:
<!-- <a> This is strange -- but true!</a> -->
--------------------------^ comment ends here
这是一个很常见的陷阱。 它是从SGML处理注释的方式继承而来的。 (阅读关于此主题的XML规范)
您可以使用不存在的处理指令来包装文本,例如:
<detail>
<?ignore
<band height="20">
<staticText>
<reportElement x="180" y="0" width="200" height="20"/>
<text><![CDATA[Hello World!]]></text>
</staticText>
</band>
?>
</detail>
不允许嵌套处理指令,'?>'结束处理指令(请参阅http://www.w3.org/TR/REC-xml/#sec-pi)
链接地址: http://www.djcxy.com/p/20135.html