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에서와 같이 단일 태그 (내가 아는 것) /** comment **/에만 사용됩니다 .Java 및 C에서 사용 하는 방법과 같은 것을 원 하므로 더 긴 XML 코드 블록을 주석 처리 할 수 ​​있습니다.


11
당신은 알고 있어야 하는 XML 내에서 주석 파일이 있습니다 XmlComment 유형의 노드로 간주 . 따라서 xml 파일 을 로드하면 해당 주석 노드가로드 되고로드 된 내용을 구문 분석 할 때 주석 노드 를 피하거나 필터링하는 것은 사용자의 몫입니다.
El Bayames

XML 주석은 HTML의 주석과 유사합니다.
Somnath Muluk

답변:


1135

여러 줄에 걸쳐 해당 스타일의 주석을 사용할 수 있습니다 (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) 중첩 된 주석 닫기에서 후행 ">"을 제거하거나 (2) 중첩 된 주석을 모두 제거해야합니다.
부정 할 수 없다

1
일부 XML 리더 (예 : CruiseControl.NET)에서 끝에서 ">"가 제거 된 중첩 된 주석을 읽는 데 문제가있을 수 있으므로 (1) 관련 문제가 발생했습니다. 나는 주석을 모두 제거해야했습니다.
부정 할 수 없다

14
@coderob 실제로 XML 주석에서는-조차도 허용되지 않습니다. > - 당신은 전체를 제거해야 할 수도 있습니다 그래서
0fnt

Android Studio에서 블록을 선택한 다음 Ctrl + 슬래시로 주석을 추가하십시오 (또는 Ctrl + Shift + 슬래시).
Kamran Bigdely

1
--이러한 유형의 주석을 사용하면 문제가 발생할 수 있습니다 . - ->주석을 임시로 중첩해야하는 경우 사용 하는 것이 좋습니다. --주석 내부를 포함하여 HTML 어쨌든 (xml의 하위 집합)에서 유효하지 않습니다. 일반적으로 문제를 해결할 수 있지만 때로는 문제가 발생합니다. 따라서 -주석 내에서 여러 행을 명확하게 유지 하고 주석을 임시로 중첩 해야하는 경우을 닫는 사이에 공백을 배치 --합니다 -->. 이것은 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

100 / 100 당신에게 @Kasper
Shiva krishna Chippa

2
이것은 잘못된 XML 내부에서도 작동합니다. 따라서 이것은 블록을 일시적으로 주석 처리하기위한 훌륭한 솔루션입니다.
Max

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

또 다른 점은, XML 어딘가에 두 개의 하이픈이 포함되어 있으면 주석이 즉시 끝나는 것입니다.

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

그것은 일반적인 함정입니다. SGML이 주석을 처리하는 방식에서 상속됩니다. ( 이 주제에 대한 XML 스펙을 읽으십시오 )


1
예. 저는 항상 SGML과 XML 구문 분석이 모든 단점을 기억하기 어렵다는 것을
알았습니다

1
이중 하이픈으로 이상한 사실을 언급 해 주셔서 감사합니다. 의견을 말한 경우가있었습니다. 이전 주석 끝을 제거했지만 실패했습니다. 예 : <!-... <code> <!-이전 주석 </ code> ...->
dwettstein 2016 년

당신이 대체 할 수 제한 이중 하이픈를 해결하려면 --함께 -&#45;. 대부분의 경우 주석 처리를 제거한 후에도 동일하게 작동합니다.
mik

48

실제로 여러 줄 또는 태그와 함께 <! --...--> 형식을 사용할 수 있습니다.

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

25

주석을 달려면 다음과 같이 작성해야합니다.

<!-- Your comment here -->

IntelliJ Idea 및 Eclipse의 바로 가기

Windows 및 Linux의 경우 :

한 줄 주석 달기 바로 가기 :

Ctrl + /

여러 줄 주석 달기 바로 가기 :

Ctrl+ Shift+/

Mac의 경우 :

한 줄 주석 달기 바로 가기 :

cmnd + /

여러 줄 주석 달기 바로 가기 :

cmnd+ Shift+/

XML 태그의 속성에는 주석을 달 수 없다는 점을 명심해야합니다. 예를 들어 :

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

여기, TextViewXML 태그이며 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.