¿Cómo comento un bloque de etiquetas en XML?

795

¿Cómo comento un bloque de etiquetas en XML?

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

  <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 poder comentar bloques más largos de código XML.

Jonas
fuente
11
Debe saber que los comentarios dentro de un archivo xml se consideran nodos del tipo XmlComment . Entonces, si carga el archivo xml , esos nodos de comentarios se cargarán y depende de usted evitarlos o filtrarlos al analizar el contenido cargado.
El Bayames
Los comentarios XML son similares a los comentarios en HTML.
Somnath Muluk

Respuestas:

1136

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>
Seda del mediodía
fuente
59
Una advertencia con respecto a esto es que tendrá problemas con los comentarios anidados. Tendrá que: (1) eliminar el ">" al final del comentario anidado o (2) eliminar los comentarios anidados por completo.
dudas, el
1
Me he encontrado con 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.
dudas, el
14
@coderob En realidad, incluso - no está permitido en los comentarios XML. Por lo tanto, es posible que
deba
En Android Studio, seleccione el bloque, luego Ctrl + Slash para comentarlo (o Ctrl + Shift + Slash).
Kamran Bigdely
1
Uno puede tener problemas al usar --este tipo de comentarios. Mejor usar - ->si necesita anidar temporalmente un comentario. De todos modos, en HTML (un subconjunto de xml), incluso --dentro de un comentario no es válido. Por lo general , puede salirse con la suya, pero a veces causa un problema. Por lo tanto, asegúrese de mantenerme alejado de múltiples -en una fila dentro de los comentarios, y si necesito templar un comentario, colocaré espacios entre los 2 cierres --del -->. Esto evita errores aleatorios extraños en XML y HTML.
SherylHohman
169

Puede ajustar 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 '?>' Finaliza la instrucción de procesamiento (consulte http://www.w3.org/TR/REC-xml/#sec-pi )

Kasper van den Berg
fuente
11
Este método funcionó exactamente como lo necesitaba y tenía la ventaja adicional de trabajar incluso en torno a los comentarios internos. Usaría esto sobre la respuesta aceptada si tiene alguna forma de código complicado.
Sean Branchaw
100 de 100 para ti @Kasper
Shiva krishna Chippa
2
Esto incluso funciona con XML con formato incorrecto dentro. Entonces, esta es una gran solución para comentar temporalmente un bloque.
Max
146

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

Intenta cambiar ]]>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 me viene a la mente: si el contenido de su XML en alguna parte contiene dos guiones, el comentario termina inmediatamente 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 )

Boldewyn
fuente
1
Sí ... siempre me pareció que el análisis de comentarios SGML y XML era difícil de recordar todas las peculiaridades ...
Delan Azabani
1
¡Muchas gracias por mencionar el hecho extraño con los guiones dobles! Tuve un caso en el que comenté un comentario. Aunque eliminé el comentario anterior que finalizó, falló. Ejemplo: <! - ... <code> <! - Antiguo comentario </code> ... ->
dwettstein
Para solucionar el doble guión limitación se puede reemplazar --con -&#45;. Debería funcionar igual después de descomentar en la mayoría de los casos.
mik
48

En realidad, puede usar el formato <! --...--> con líneas múltiples o etiquetas:

<!--
  ...
  ...
  ...
-->
Delan Azabani
fuente
25

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

<!-- Your comment here -->

Atajos para IntelliJ Idea y Eclipse

Para Windows y Linux:

Atajo para comentar una sola línea:

Ctrl + /

Atajo para comentar varias líneas:

Ctrl+ Shift+/

Para Mac:

Atajo para comentar una sola línea:

cmnd + /

Atajo para comentar varias líneas:

cmnd+ Shift+/

Una cosa 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í, TextViewhay una etiqueta XML y textes un atributo de esa etiqueta. No puede comentar los 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" />-->
Avijit Karmakar
fuente
11

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 comentar en xml.

svg
fuente
1

Sintaxis para XML: <!--Your comment-->

p.ej.

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

Reglas de comentarios 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.
TheSuMiT.
fuente