如何在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代码块。
#1楼
您可以使用不存在的处理指令包装文本,例如:
<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 )
#2楼
您可以使用以下方法轻松注释掉数据:
<!--
<data>
<data-field1></data-field1>
<data-field2></data-field2>
<data-field3></data-field3>
</data>
-->
在xml中注释的方法。
#3楼
您可以跨多行使用该样式的注释(也存在于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>
#4楼
实际上,您可以将<!--...-->格式与多行或标记一起使用:
<!--
...
...
...
-->
#5楼
如果你问,因为你的<!-- -->
语法有错误,那很可能是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规范 )
#6楼
在这里评论我们必须写如下:
<!-- Your comment here -->
IntelliJ Idea和Eclipse的快捷方式
对于Windows和Linux:
评论单行的快捷方式:
Ctrl
+ /
注释多行的快捷方式:
Ctrl
+ Shift
+ /
对于Mac:
评论单行的快捷方式:
cmnd
+ /
注释多行的快捷方式:
cmnd
+ Shift
+ /
有一点你必须记住,你不能评论XML标签的属性。 例如:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
<!--android:text="Hello.."-->
android:textStyle="bold" />
这里, TextView
是一个XML标签, text
是该标签的一个属性。 您无法评论XML标记的属性。 您必须评论完整的XML标记。 例如:
<!--<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello.."
android:textStyle="bold" />-->