Structure <! - some text - >是XML中的註釋,但是我想把這個文本放在另一個標籤中,我不希望它被當作註釋,就像文本一樣(我需要它在視覺工作室的評論中),像這樣:如何強制XML將特殊字符視爲純文本?
<summary>
(...) that contains
sections marked with <!--[section_name]--> at the beginning.
</summary>
我該怎麼做?
Structure <! - some text - >是XML中的註釋,但是我想把這個文本放在另一個標籤中,我不希望它被當作註釋,就像文本一樣(我需要它在視覺工作室的評論中),像這樣:如何強制XML將特殊字符視爲純文本?
<summary>
(...) that contains
sections marked with <!--[section_name]--> at the beginning.
</summary>
我該怎麼做?
使用CDATA或轉義字符使用& gt;或& lt;分別爲<和>。
將元素的內容包裝在CDATA部分中。這告訴解析器將內容視爲文字。
看看CDATA長期:http://en.wikipedia.org/wiki/CDATA
<summary>
<![CDATA[
(...) that contains
sections marked with <\!--[section_name]--> at the beginning.
]]>
</summary>
你應該換一個CDATA標籤內的文本:
<summary>
<![CDATA[ (...) that contains
sections marked with <!--[section_name]--> at the beginning.]]>
</summary>
使用這樣的代碼:
<xml>
<![CDATA[
<!-- comment treated as plain text -->
]]>
</xml>
無論是逃避字符...
<summary>Blah blah <!-- not a comment --> blah.</summary>
...或包裹他們PCDATA段內:
<summary><![CDATA[Blah blah <!-- blah -->]]></summary>
接受的答案是使用CDATA,但我強烈建議逃逸。如果您使用CDATA,則必須驗證您的內容是否包含「]]>」,並以某種方式將其轉義(在很多情況下不太可能),但如果您的程序存在將XML插入其他XML中,風險會增加)。
此外,使用串行生成你的XML,因爲有很多挑剔的規則,幾乎每個人都錯了(我已經12年編寫XML,不相信自己,讓他們沒事)。最簡單的方法是構建一個DOM,然後將其轉換爲文本。
visual studio不關心xml註釋中的CDATA部分(只是將它當作另一個標籤),但<和>工作。謝謝 – agnieszka 2009-06-04 12:01:58