2008-12-07 78 views
1

我有了尖括號中像這樣的字符串:如何在沒有代碼的情況下將字符串的內容寫入XML?

<element1>my text here</element1> 

字符串字面看起來是這樣的,當我把它寫到控制檯或我的dataGridView或其他地方。但是,我試圖將其作爲XML文檔的一部分編寫。

一切都只是在寫XML文件精緻,上面顯示爲:

&lt;element1&gt;my text here&lt;/element1&gt; 

我如何得到這個寫出來,因爲我的文字文本,而不是用代碼?

謝謝!

-Adeena正被寫成HTML Encoded Format爲您的應用程序必須認爲它,所以它是逃避它,彷彿它是內容爲內容,而不是實際的XML元素

回答

0

您是否嘗試過使用XmlWriter類?

4

如果你想保持它作爲一個字符串,不逃避所有的元素,用一個CDATA塊:

<xml><![CDATA[<element1>my text here</element1>]]></xml> 
-1

嗯。

所以我認爲我已經決定,而不是使用XMLSerializer(我認爲這將是一種奇特的做事方式),我只是建立所有元素的字符串並將它們寫成正常文本文件。這似乎工作,並足夠簡單。我還有其他一些獨特的/奇怪的東西,這樣做的方式使它變得簡單多了。 :)

-Adeena

+0

糟糕的主意,由於解釋的原因 me.yahoo.com/a/Tad.Kk – bortzmeyer 2008-12-08 12:01:36

2

你的目標不明確對我說:你想要什麼你最後的XML文件看起來像?

如果輸出結果如下,那麼XML解析器會將「<element1>」解釋爲結構的一部分,而不是內容。

<container><element1>my text here</element1></container> 

至於寫你的XML字符串,這是一個壞主意:轉義是有原因的,除非你知道的很詳細的XML規範,你所有,但保證犯錯誤做它。

2

字符串字面上看起來像這樣,當我把它寫到控制檯或我的dataGridView或其他地方。

您不應該直接操縱XML文檔的字符串值。

我並沒有就軟件開發做過很多絕對的陳述,但那個幾乎總是如此。如果您對XML沒有深入的瞭解,那肯定是對的。我猜想,人們新到XML帶來的25%或更多的問題是由此造成的。

如果將XML加載到XmlDocument中,找到包含它的元素並寫出元素的InnerText屬性,則字符串將正確顯示。 DOM正確地將文本進出XML文本,對其進行編碼,以便文本中的標記不會干擾XML的標記。你想要那個。

我觀察到的另一件事:至少90%的時間,使用CDATA的建議在技術上是正確的,但在其他方面都是錯誤的。使用CDATA是最後一招。

相關問題