2009-08-24 3 views
51

Czy te zagnieżdżone komentarze są dozwolone w pliku XML?Zagnieżdżone komentarze w 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

... zastanawiać, dlaczego nikt nie wspomniał używając [ 'CDATA'] (http : //stackoverflow.com/questions/2784183/what-does-cdata-in-xml-mean) jako ostry komentarz do bloku ... –

Odpowiedz

49

Nie, ciąg znaków -- nie może pojawiać się w komentarzach w formacie XML. Fakt, że masz --, pojawi się w innym komentarzu, spowoduje awarie.

i próbuje pisać tę odpowiedź również złamał wejścia analizowania tekstu;)

Dla dalszego dowodu, sprawdź specyfikacji W3C:

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

Wyrażenie

Dla kompatybilności , ciąg "-" (podwójny łącznik) NIE MOŻE wystąpić w komentarzach.]

pojawia się w pierwszym akapicie sekcji dotyczącej komentarzy XML.

+2

annakata

+1

System.Xml.XmlException: jest to niepoprawna składnia komentarza. –

+24

, ale DLACZEGO? !!!!!!! – zvolkov

4

Nie możesz. -- zarówno uruchamia się, jak i kończy komentarz. To sprawia, że ​​zagnieżdżanie ich jest niemożliwe.

5

Jednym słowem - nie.

Pierwszy napotniony znacznik komentarza końca, er ... zakończy komentarz, a reszta będzie wyglądać nieco nieprzyjemnie.

16

Jak mówi się w How do I comment out a block of tags in XML?, można spróbować owinąć kod z nieistniejącego processing-instruction, np:

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

Wow! Dlaczego wcześniej o tym nie pomyślałem! – Tara

+0

działa, dziękuję. – Gewure

+0

To jest świetna pomoc w przypadkach, gdy źle zachowane pakiety NuGet okaleczą moje starannie dobrane pliki 'web.config', dodając własne elementy i dziesiątki komentarzy! – Dai