如何在XML中注释掉一个标签块?

时间:2010-05-03 10:31:25

标签: xml comments

如何在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代码块。

8 个答案:

答案 0 :(得分:1063)

您可以跨多行使用该注释样式(也存在于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>

答案 1 :(得分:149)

您可以使用不存在的处理指令包装文本,例如:

<detail>
<?ignore
  <band height="20">
    <staticText>
      <reportElement x="180" y="0" width="200" height="20"/>
      <text><![CDATA[Hello World!]]></text>
    </staticText>
  </band>
?>
</detail>

不允许嵌套处理说明和'?&gt;'结束处理指令(见http://www.w3.org/TR/REC-xml/#sec-pi

答案 2 :(得分:142)

如果你问,因为你的<!-- -->语法有错误,那很可能就是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处理注释的方式。 (Read the XML spec on this topic

答案 3 :(得分:47)

实际上,你可以使用&lt;!--...--&gt;多行或标签的格式:

<!--
  ...
  ...
  ...
-->

答案 4 :(得分:23)

在这里评论我们必须写如下:

<!-- Your comment here -->

适用于Windows&amp; 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" />-->

答案 5 :(得分:12)

您可以使用以下方法轻松注释掉数据:

<!-- 
 <data>
        <data-field1></data-field1>
        <data-field2></data-field2>
        <data-field3></data-field3>
 </data>
-->

在xml中注释的方法。

答案 6 :(得分:1)

XML的语法: <!--Your comment-->

例如

   <?xml version = "1.0" encoding = "UTF-8" ?>
   <!--here is your comment :) -->
   <class_list>   
   <student>
   <name></name>
   <grade>A</grade>
   </student>
   </class_list>

XML注释规则

Comments cannot appear before XML declaration.
Comments may appear anywhere in a document.
Comments must not appear within attribute values.
Comments cannot be nested inside the other comments.

答案 7 :(得分:1)

在 Notepad++ 中,您可以选择几行并使用 CTRL+Q,它会自动为所选行添加块注释。