web-dev-qa-db-ja.com

XMLで一行コメントするには?

これはむしろ見逃してはいけないという検証です。

XMLに改行コメントはありませんか。そのため、コンパイラが使用する "//"のように、より近いものはありません。

XMLでタグのブロックをコメントアウトするにはどうすればよいですか? およびその他のいくつかの議論。

この種のコメントは、どこかに近いところに迷惑をかけずに行をコメントアウトするのに実用的です。

110
Roam

いいえ、XMLで行をコメントして、改行時にコメントを自動的に終了させる方法はありません。

XMLは、コメントに対して 1つの定義しか持っていません

'<!--' ((Char - '-') | ('-' (Char - '-')))* '-->'

XMLは、 SGMLとの互換性を維持するためのコメントの--を禁じます

134
kojiro

他の人が言っているように、複数行をコメントアウトするようなXMLで単一行コメントを合法的にする方法はありません、しかし XMLのセグメントのコメントアウトを容易にするため。以下の例を見て、1行目に '>'を追加すると、XmlTagはコメント解除されます。 「>」を削除すると、コメントアウトされています。これは、物を壊すことなくXMLをすばやくコメント/コメント解除するために見た最も簡単な方法です。

<!-- --
<XmlTag variable="0" />
<!-- -->

追加された利点はあなたが一番上のコメントを操作するだけであり、一番下のコメントはただそこに永遠に座ることができるということです。これはSGMLとの互換性を破り、いくつかのXMLパーサーはそれを妨げるでしょう。これがあなたのXMLの恒久的な据え付け品ではなく、そしてあなたのパーサーがそれを受け入れる限り、それは本当に問題ではありません。 StackOverflowとNotepad ++のシンタックスハイライトはそれを複数行コメントのように扱い、C++のboostライブラリはそれを複数行コメントとみなします。そして私がこれまで見つけた唯一のパーサーは.Netのもの、特にC#です。そのため、使用する前に、まずあなたのツール、IDE、ライブラリ、言語などがそれを受け入れていることをテストしてください。

SGMLの互換性を気にするのであれば、単にこれを代わりに使ってください。

<!-- -
<XmlTag variable="0" />
<!- -->

一番上のコメントに ' - >'を、一番下のコメントに ' - 'を追加してください。欠点は、毎回一番下のコメントを編集しなければならないことです。おそらく、一番上に<!--を、一番下に-->を入力するのが簡単になるでしょう。

また、他のコメント投稿者が、XMLのブロックを右クリックしてコメント/コメント解除できるXMLエディタを使用することを推奨していることも言及したいと思います。しかし私はそのようなツールを使ったことは一度もありません。私は個人的には、Notepad ++よりもエキサイティングなエディタを持つことを正当化するのに十分なほどXMLを扱う必要がなかったので、これは完全にあなた次第です。

18
Shaz

HTMLやJavaScriptブロックのコメントと同じです。

<!-- to be commented xml block goes here -->
9
nassim

正統派ではありませんが、時々私のために働きます。他の属性としてあなたのコメントを設定

<node usefulAttr="foo" comment="your comment here..."/>
5
j rdl

Extensible Markup Language(XML)1.0 には、ブロックコメントのみが含まれています。

4
Fox32