如何在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处理注释的方式inheritance而来的。 ( 阅读关于这个主题的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 )
其实,你可以用多行或标签来使用<!–…–>格式:
<!-- ... ... ... -->
这里评论我们必须写如下:
<!-- Your comment here -->
快速评论一行:
Ctrl
+ /
评论多行的捷径:
Ctrl
+ Shift
+ /
有一点你必须记住,你不能评论一个XML标签的属性。 例如:
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" <!--android:text="Hello.."--> android:textStyle="bold" />
在这里, TextView
是一个XML标签, text
是该标签的属性。 您无法评论XML标签的属性。 你必须评论完整的XML标签。
你可以很容易地使用这个注释掉数据:
<!-- <data> <data-field1></data-field1> <data-field2></data-field2> <data-field3></data-field3> </data> -->
在xml中注释的方法。