Bagaimana cara saya mengomentari blok tag dalam XML?

795

Bagaimana cara saya mengomentari blok tag dalam XML?

Yaitu Bagaimana saya bisa berkomentar <staticText>dan semua yang ada di dalamnya, dalam kode di bawah ini?

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

Saya bisa menggunakan <!-- staticText-->tetapi itu hanya untuk tag tunggal (seperti yang saya tahu), seperti //di Jawa dan C. Saya ingin sesuatu yang lebih seperti bagaimana /** comment **/bisa digunakan di Jawa dan C, jadi saya bisa berkomentar blok kode XML yang lebih panjang.

Jonas
sumber
11
Anda harus tahu bahwa komentar dalam file xml dianggap sebagai simpul tipe XmlComment . Jadi, jika Anda memuat file xml, simpul komentar itu akan dimuat dan terserah Anda untuk menghindarinya atau memfilternya saat mem-parsing konten yang dimuat.
El Bayames
Komentar XML mirip dengan komentar dalam HTML.
Somnath Muluk

Jawaban:

1136

Anda dapat menggunakan gaya komentar itu di beberapa baris (yang ada juga dalam 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>
Sutra Siang
sumber
59
Satu peringatan dengan ini adalah bahwa Anda akan memiliki masalah dengan komentar bersarang. Anda harus: (1) menghapus jejak ">" pada penutup komentar yang bersarang, atau (2) menghapus komentar yang bersarang sekaligus.
undeniablyrob
1
Saya telah mengalami masalah dengan (1), karena beberapa pembaca XML (yaitu CruiseControl.NET) mungkin memiliki masalah membaca komentar yang bersarang yang "" "dihapus dari bagian akhir. Saya akhirnya harus menghapus komentar sama sekali.
undeniablyrob
14
@coderob Sebenarnya, bahkan - tidak diizinkan dalam komentar XML. Jadi, Anda mungkin harus menghapus seluruh ->
0fnt
Di Android Studio, pilih blok, lalu Ctrl + Slash untuk berkomentar (atau Ctrl + Shift + Slash).
Kamran Bigdely
1
Seseorang dapat mengalami masalah --dalam menggunakan jenis komentar ini. Lebih baik digunakan - ->jika Anda perlu membuat komentar sementara. Lagipula dalam HTML (subset xml), termasuk --di dalam komentar tidak valid. Biasanya Anda bisa lolos begitu saja, tetapi terkadang menyebabkan masalah. Jadi, saya pastikan untuk tetap jelas dari beberapa -berturut-turut dalam komentar, dan jika saya perlu sarang suhu komentar, saya akan menempatkan spasi antara 2 penutupan --dari -->. Ini menghindari kesalahan aneh acak dalam XML dan HTML.
SherylHohman
169

Anda dapat membungkus teks dengan instruksi pemrosesan yang tidak ada, misalnya:

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

Instruksi pemrosesan bersarang tidak diperbolehkan dan '?>' Mengakhiri instruksi pemrosesan (lihat http://www.w3.org/TR/REC-xml/#sec-pi )

Kasper van den Berg
sumber
11
Metode ini bekerja persis seperti yang saya inginkan, dan memiliki keuntungan tambahan dengan bekerja bahkan di sekitar komentar internal. Saya akan menggunakan ini di atas jawaban yang diterima jika Anda memiliki bentuk kode yang rumit.
Sean Branchaw
100 dari 100 untuk Anda @ Kasper
Shiva krishna Chippa
2
Ini bahkan bekerja dengan XML yang salah dalam. Jadi ini adalah solusi yang bagus untuk mengomentari blok sementara.
Maks
146

Jika Anda bertanya, karena Anda mendapatkan kesalahan dengan <!-- -->sintaks, kemungkinan besar bagian CDATA (dan ada ]]>bagian), yang kemudian terletak di tengah komentar. Ini harus tidak membuat perbedaan, tapi ideal dan dunia nyata dapat cukup sedikit terpisah, kadang-kadang (terutama ketika datang untuk pengolahan XML).

Coba ubah ]]>juga:

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

Hal lain, yang terlintas dalam pikiran: Jika konten XML Anda mengandung dua tanda hubung, komentar segera berakhir di sana:

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

Itu perangkap yang cukup umum. Itu diwarisi dari cara SGML menangani komentar. ( Baca spesifikasi XML tentang topik ini )

Boldewyn
sumber
1
Ya ... Saya selalu mendapati komentar penguraian SGML dan XML sulit untuk mengingat semua
keanehan
1
Terima kasih banyak untuk menyebutkan fakta aneh dengan tanda hubung ganda -! Saya punya kasus di mana saya berkomentar komentar. Meskipun saya menghapus akhir komentar lama, itu gagal. Contoh: <! - ... <code> <! - Komentar lama </code> ... ->
dwettstein
Untuk mengatasi batasan tanda hubung ganda, Anda dapat menggantinya --dengan -&#45;. Ini harus bekerja sama setelah membatalkan komentar dalam banyak kasus.
mik
48

Sebenarnya, Anda dapat menggunakan format <! --...--> dengan multi-baris atau tag:

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

Di sini untuk berkomentar kita harus menulis seperti di bawah ini:

<!-- Your comment here -->

Pintasan untuk IntelliJ Idea dan Eclipse

Untuk Windows & Linux:

Pintasan untuk Mengomentari satu baris:

Ctrl + /

Pintasan untuk Mengomentari banyak baris:

Ctrl+ Shift+/

Untuk Mac:

Pintasan untuk Mengomentari satu baris:

cmnd + /

Pintasan untuk Mengomentari banyak baris:

cmnd+ Shift+/

Satu hal yang harus diingat, Anda tidak dapat mengomentari atribut dari tag XML. Sebagai contoh:

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

Di sini, TextViewadalah Tag XML dan textmerupakan atribut dari tag itu. Anda tidak dapat mengomentari atribut dari Tag XML. Anda harus mengomentari Tag XML lengkap. Sebagai contoh:

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

Anda dapat dengan mudah mengomentari data menggunakan ini:

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

metode berkomentar dalam xml.

svg
sumber
1

Sintaks untuk XML: <!--Your comment-->

misalnya.

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

Aturan Komentar 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.
sumber