2009-08-24 119 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)作爲一個hacky塊評論... – 2016-04-18 08:36:09

回答

49

不,字符串--不允許出現在XML中的註釋中。所以你有--顯示在另一個評論裏會導致失敗。

,並試圖張貼答案也打破了文本輸入解析;)

爲了進一步證明,檢查W3C規範:

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

短語

出於兼容性,字符串「 - 」(雙連字符)一定不能出現在註釋中。]

出現在關於XML註釋的部分的第一段中。

+2

<! - 這是不正確的 - 或者它? - > – annakata 2009-08-24 21:23:26

+1

<! - * it * - 是一個錯誤 - > System.Xml.XmlException:這是一個無效的註釋語法。 – 2009-08-28 17:14:53

+24

但是爲什麼?!!!!!!! – zvolkov 2010-05-14 20:20:11

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 2016-05-14 20:08:17

+0

作品,謝謝。 – Gewure 2017-05-18 08:37:07

+0

這對於糟糕的NuGet包通過添加他們自己的元素和幾十條評論來破壞我精心策劃的'web.config'文件的情況很有幫助! – Dai 2017-07-20 07:19:34