首页 文章

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

提问于
浏览
715

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

6 回答

  • 43

    如果你问,因为你的 <!-- --> 语法有错误,那很可能是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
    

    's quite a common pitfall. It's继承自SGML处理注释的方式 . (Read the XML spec on this topic

  • 1001

    实际上,您可以将<!--...-->格式用于多行或标记:

    <!--
      ...
      ...
      ...
    -->
    
  • 9

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

    <!-- Your comment here -->
    

    For Windows & Linux:

    评论单行的快捷方式:

    Ctrl /

    注释多行的快捷方式:

    Ctrl Shift /

    For 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" />-->
    
  • 20

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

    <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

  • 133

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

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

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

    在xml中注释的方法 .

相关问题