2009-08-24 7 views
51

これらのネストされたコメントはXMLファイルで許可されていますか?XMLのネストされたコメント?

<!-- Making only one observation attempting to correct the error code --> 
<!-- <component> 
     <!-- Result observation template --> 
      <!-- <id root="2.16.840.1.113883.19.5.10" extension="103220"/> 
    </component> --> 
+0

...誰もが[ 'CDATA']を使用して言及した理由を不思議(HTTP ://stackoverflow.com/questions/2784183/what-does-cdata-in-xml-mean)ハッキングブロックコメント... –

答えて

49

いいえ、文字列--はXMLのコメント内には使用できません。したがって、あなたが--という別のコメントの中に現れているという事実は、失敗を引き起こすでしょう。互換性のため

http://www.w3.org/TR/2008/REC-xml-20081126/#sec-comments

フレーズ

:;

そしてまた、テキスト入力の解析を破ったその答えを投稿しようとしている)、さらに証明するために

は、W3Cの仕様をご確認くださいコメントの中に文字列 " - "(二重ハイフン)があってはならない。]

は、XMLコメントに関するセクションの最初の段落にあります。

+2

<! - これは真実ではありません - それとも? - > – annakata

+1

<! - * it * - はエラーです - > System.Xml.XmlException:これは無効なコメント構文です。 –

+24

しかし、なぜ?!!!!!!! – zvolkov

4

できません。 --はコメントを開始して終了します。これにより、それらを入れ子にすることは不可能になります。

5

一言で言えば、

最初に遭遇したエンドコメントマーカーは、そのコメントを終了し、残りの部分はそこからやや不快に見えます。

16

それはHow do I comment out a block of tags in XML?に言われているように、あなたは例えば、非既存の処理命令を使用してコードをラップしようとすることができます:

<?ignore 
<component> 
     <!-- Result observation template --> 
      <!-- <id root="2.16.840.1.113883.19.5.10" extension="103220"/> 
    </component> 
?> 
+0

うわー!なぜ私はそれを前に考えなかったのですか? – Tara

+0

作品、ありがとうございます。 – Gewure

+0

悪い振る舞いをしているNuGetパッケージが、自分の要素と数十のコメントを追加することで、私の愛らしいcurated 'web.config'ファイルを壊してしまう場合に、これは大きな助けになります! – Dai

関連する問題