2009-06-04 98 views
1

Structure <! - some text - >是XML中的註釋,但是我想把這個文本放在另一個標籤中,我不希望它被當作註釋,就像文本一樣(我需要它在視覺工作室的評論中),像這樣:如何強制XML將特殊字符視爲純文本?

<summary> 
    (...) that contains 
    sections marked with <!--[section_name]--> at the beginning. 
</summary> 

我該怎麼做?

回答

3

使用CDATA或轉義字符使用& gt;或& lt;分別爲<和>。

+0

visual studio不關心xml註釋中的CDATA部分(只是將它當作另一個標籤),但<和>工作。謝謝 – agnieszka 2009-06-04 12:01:58

0

將元素的內容包裝在CDATA部分中。這告訴解析器將內容視爲文字。

2

看看CDATA長期:http://en.wikipedia.org/wiki/CDATA

<summary> 
    <![CDATA[ 
    (...) that contains 
    sections marked with <\!--[section_name]--> at the beginning. 
    ]]> 
</summary> 
0

你應該換一個CDATA標籤內的文本:

<summary> 
<![CDATA[ (...) that contains 
    sections marked with <!--[section_name]--> at the beginning.]]> 
</summary> 
3

使用這樣的代碼:

<xml> 
    <![CDATA[ 

    <!-- comment treated as plain text --> 

    ]]> 
</xml> 
0

無論是逃避字符...

<summary>Blah blah &lt;!-- not a comment --&gt; blah.</summary>

...或包裹他們PCDATA段內:

<summary><![CDATA[Blah blah <!-- blah -->]]></summary>
0

接受的答案是使用CDATA,但我強烈建議逃逸。如果您使用CDATA,則必須驗證您的內容是否包含「]]>」,並以某種方式將其轉義(在很多情況下不太可能),但如果您的程序存在將XML插入其他XML中,風險會增加)。

此外,使用串行生成你的XML,因爲有很多挑剔的規則,幾乎每個人都錯了(我已經12年編寫XML,不相信自己,讓他們沒事)。最簡單的方法是構建一個DOM,然後將其轉換爲文本。