¿Cómo puedo comentar un bloque de etiquetas en XML?


¿Cómo puedo comentar un bloque de etiquetas en XML?

Es decir, ¿Cómo puedo comentar <staticText> y todo lo que contiene, en el siguiente código?

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

Podría usar <!-- staticText--> pero eso es solo para etiquetas individuales (como lo que sé), como // en Java y C. Me gustaría algo más como cómo /** comment **/ se puede usar en Java y C, para que pueda comentar bloques más largos de código XML.

 693
Author: Jonas, 2010-05-03

6 answers

Puede usar ese estilo de comentario en varias líneas (que también existe en 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>
 969
Author: Noon Silk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-20 20:21:02

Si preguntas, porque tienes errores con la sintaxis <!-- -->, lo más probable es que la sección CDATA (y allí la parte ]]>), se encuentre en el medio del comentario. no debería hacer una diferencia, pero el mundo ideal y real pueden estar bastante separados, a veces (especialmente cuando se trata de procesamiento XML).

Intenta cambiar el ]]> también:

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

Otra cosa, que viene a la mente: Si el contenido de su XML en algún lugar contiene dos guiones, el comentario inmediatamente termina allí:

<!-- <a> This is strange -- but true!</a> -->
--------------------------^ comment ends here

Esa es una trampa bastante común. Se hereda de la forma en que SGML maneja los comentarios. (Lea la especificación XML sobre este tema )

 135
Author: Boldewyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-13 18:38:26

Puede envolver el texto con una instrucción de procesamiento no existente, por ejemplo:

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

Las instrucciones de procesamiento anidadas no están permitidas y '?> 'termina la instrucción de procesamiento (ver http://www.w3.org/TR/REC-xml/#sec-pi )

 129
Author: Kasper van den Berg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-01 16:13:15

En Realidad, puede utilizar el

 43
Author: Delan Azabani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-03 10:34:01

Aquí para comentar tenemos que escribir como a continuación:

<!-- Your comment here -->

Para Windows y Linux:

Acceso directo para Comentar una sola línea:

Ctrl + /

Acceso directo para Comentar varias líneas:

Ctrl + Shift + /

Para Mac:

Acceso directo para Comentar una sola línea:

cmnd + /

Acceso directo para Comentar varias líneas:

cmnd + Shift + /

Uno lo que debes tener en cuenta es que no puedes comentar un atributo de una etiqueta XML. Por Ejemplo:

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    <!--android:text="Hello.."-->
    android:textStyle="bold" />

Aquí, TextView es una etiqueta XML y text es un atributo de esa etiqueta. No puedes comentar atributos de una etiqueta XML. Tienes que comentar la etiqueta XML completa. Por Ejemplo:

<!--<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Hello.."
    android:textStyle="bold" />-->
 19
Author: Avijit Karmakar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-11 15:31:10

Puede comentar fácilmente los datos usando esto:

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

Método de comentario en xml.

 9
Author: svg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-23 20:38:33