タグのブロックをXMLでコメント化するにはどうすればよいですか?


795

タグのブロックを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の場合のように、(私が知っているように)単一のタグの場合のみです。JavaやCでどの/** comment **/ように使用できるかをもっと知りたいので、XMLコードの長いブロックをコメントアウトできます。


11
xmlファイル内のコメントは、XmlCommentタイプのノードと見なされることを知っておく必要があります。したがって、xmlファイルをロードすると、これらのコメントノードがロードされます。ロードされたコンテンツを解析するときに、コメントノードを回避するか、フィルター処理するかは、ユーザー次第です。
El Bayames 2013

XMLコメントは、HTMLのコメントに似ています。
Somnath Muluk

回答:


1136

そのスタイルのコメントを複数行にわたって使用できます(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>

59
これに関する1つの注意点は、ネストされたコメントで問題が発生することです。(1)ネストされたコメントの終了時の末尾の ">"を削除するか、(2)ネストされたコメントを完全に削除する必要があります。
紛れもなくロブ

1
一部のXMLリーダー(CruiseControl.NETなど)で、末尾の「>」が削除されたネストされたコメントの読み取りに問題がある可能性があるため、(1)で問題が発生しました。コメントを完全に削除しなければならなくなりました。
紛れもなく

14
@coderob実際には、-XMLコメント内では許可されていません。したがって、全体を削除する必要があるかもしれません->
0fnt

Android Studioでブロックを選択し、Ctrl +スラッシュでコメントを付けます(またはCtrl + Shift +スラッシュ)。
Kamran Bigdely 2016

1
--このタイプのコメント内を使用すると、問題が発生する可能性があります。- ->コメントを一時的にネストする必要がある場合に使用するのが良いでしょう。とにかく、HTML(xmlのサブセット)では--、コメント内に含めることはできません。 通常は問題なく使用できますが、問題発生することもあります。したがって、-コメント内の複数の行が連続しないようにしてください。コメントを一時的にネストする必要がある場合は、の2つの終了--の間にスペースを入れます-->。これにより、XMLおよびHTMLのランダムに奇妙なエラーが回避されます。
SherylHohman

169

存在しない処理命令でテキストをラップできます。例:

<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を参照


11
この方法は、私が必要とする方法とまったく同じように機能し、内部コメントを回避するという利点もありました。何らかの形の複雑なコードがある場合は、これを受け入れられた回答に使用します。
Sean Branchaw 2016年

100のうち100 @@ Kasper
Shiva

2
これは内部で不正なXMLでも機能します。したがって、これは一時的にブロックをコメントアウトするための優れたソリューションです。
最大

146

質問すると、<!-- -->構文にエラーが発生したため、おそらくCDATAセクション(およびその]]>部分)がコメントの真ん中にあります。それ違いを生むべきではありませんが、理想的で現実的な世界は、時には(特にXML処理に関しては)かなり離れている場合があります。

]]>も変更してみてください:

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

もう1つ、心に浮かぶことがあります。XMLのコンテンツに2つのハイフンが含まれている場合、コメントはすぐに終了します。

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

これはよくある落とし穴です。SGMLがコメントを処理する方法から継承されます。(このトピックに関するXML仕様を読んでください


1
はい...私はいつも、コメントのSGMLとXMLの解析がすべての癖を覚えるのは難しいと
感じていました

1
二重ハイフンで奇妙な事実について言及していただきありがとうございます-!コメントをコメントアウトする場合がありました。古いコメント末尾を削除しましたが、失敗しました。例:<!
-...

あなたは置き換えることができます制限ダブルハイフンを回避するに---&#45;。ほとんどの場合、コメントを外しても同じように機能します。
mik


25

ここでコメントするには、以下のように記述する必要があります。

<!-- Your comment here -->

IntelliJ IdeaとEclipseのショートカット

WindowsおよびLinuxの場合:

1行にコメントするためのショートカット:

Ctrl + /

複数行にコメントするためのショートカット:

Ctrl+ Shift+/

Mac用:

1行にコメントするためのショートカット:

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" />-->

11

これを使用して、データを簡単にコメント化できます。

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

XMLでコメントする方法。


1

XMLの構文: <!--Your comment-->

例えば。

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

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.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.