2010-05-03 23 views
631

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

I.e. ¿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> 

que podría utilizar <!-- staticText--> pero eso es sólo para las etiquetas individuales (como lo que sé), al igual que // en Java y C. Me gustaría algo más parecido a la forma en /** comment **/ se puede utilizar en Java y C, por lo que puedo comentar bloques más largos de código XML.

+7

Debe saber que ** los comentarios dentro de un archivo xml ** son ** nodos considerados de tipo XmlComment **. Entonces, si ** carga el archivo xml ** esos ** nodos de comentarios se van a cargar ** y depende de usted evitarlos o filtrarlos al analizar el contenido cargado. –

+0

Los comentarios XML son similares a los comentarios en HTML. –

Respuesta

887

Puede usar ese estilo de comentario a través de múltiples líneas (que existe también 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> 
+33

Una advertencia con esto es que tendrá problemas con los comentarios anidados. Tendrá que: (1) eliminar el final ">" en el cierre del comentario anidado, o (2) eliminar por completo los comentarios anidados. – coderob

+1

He tenido problemas con (1), ya que algunos lectores XML (es decir, CruiseControl.NET) pueden tener problemas para leer un comentario anidado que tiene su ">" eliminado del final. Terminé teniendo que eliminar los comentarios por completo. – coderob

+10

@coderob En realidad, incluso - no está permitido dentro de los comentarios de XML. Por lo tanto, es posible que tenga que eliminar todo -> – 0fnt

41

realidad, se puede utilizar el <! Formato --...-- > con múltiples líneas o tags:

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

Si preguntas, porque tienes errores con la sintaxis <!-- -->, lo más probable es la sección CDATA (y no la parte ]]>), que a continuación se encuentra en medio de la observación. Es si no hace la diferencia, pero el mundo ideal y real puede ser un poco aparte, a veces (especialmente cuando se trata de procesamiento XML).

tratar de 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 contiene algún lugar dos guiones, el comentario inmediatamente termina ahí:

<!-- <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. (Read the XML spec on this topic)

+1

Sí ... Siempre he encontrado que el análisis SGML y XML de los comentarios es difícil de recordar para todas las peculiaridades ... –

+0

¡Muchas gracias por mencionar el hecho extraño con los guiones dobles -! Tuve un caso en el que comencé un comentario. Aunque eliminé el comentario anterior, falló. Ejemplo:

+6

Este método funcionaba exactamente como lo necesitaba, y tenía la ventaja adicional de funcionar incluso con comentarios internos. Usaría esto sobre la respuesta aceptada si tienes algún tipo de código complicado. –

+0

100 de 100 a usted @ Kasper –

+2

Esto incluso funciona con XML mal formado dentro. Entonces esta es una gran solución para comentar temporalmente un bloque. – Max

9

puede comentar fácilmente los datos utilizando la siguiente:

método
<!-- 
<data> 
     <data-field1></data-field1> 
     <data-field2></data-field2> 
     <data-field3></data-field3> 
</data> 
--> 

de comentar en XML.

13

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

<!-- Your comment here --> 

Para Windows & Linux:

de acceso directo para comentar una sola línea:

Ctrl + /

Acceso directo para comentar múltiples líneas :

Ctrl + Shift + /

Para Mac:

de acceso directo para comentar una sola línea:

cmnd + /

de acceso directo para comentar varias líneas:

cmnd + Shift + /

Una cosa que hay que tener en cuenta que, no se puede 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 puede comentar los atributos de una etiqueta XML. Tienes que comentar la etiqueta XML completa.

+2

Debe especificar para qué programa son sus accesos directos. No veo ninguno especificado en la pregunta original. – RoG

+0

¿Para qué IDE son estos accesos directos? – Makesh

Cuestiones relacionadas