2012-12-07 113 views
2

我正在使用XmlTextWriter從C#應用程序生成XML。最初的投入將在此格式,1" ,但我可以不管。我需要1"落得取代它,但我不斷收到1"如何從C#生成XML?

C#

xml.WriteStartElement("data"); 
    xml.WriteAttributeString("type", "wstring"); 
    xml.WriteString("1""); 
    xml.WriteEndElement(); 

哈!當我過去XML我需要在這裏它將它轉換爲1「。但是我真正需要展示的是第三行代碼中的實際1"

我還需要使用/和Ø。我該怎麼做,謝謝。

+4

什麼?做'xml.WriteString(「1 \」「)'結果 – kevingessner

回答

5

我需要結束1 "但我總是得到1 &「

這是因爲您正在嘗試爲其完成XML API的工作。

你的工作是提供文本 - 它的工作是處理轉義和其他XML需要做的事情。

所以,你應該只使用

xml.WriteString("1\""); 

...這裏反斜槓是隻爲C#的字符串文字處理的緣故,並沒有任何與XML。您試圖寫出的邏輯值是1,然後是雙引號。無論是否爲",都應該與處理它的任何內容無關。如果你有一些過敏,你應該修復

如果迫切需要這(和我再次強烈建議您不要),嘗試:

xml.WriteString("1"); 
xml.WriteEntityRef("quot"); 

(我也希望各位能夠除非你在一個是使用LINQ到XML情況下,你真的需要使用XmlWriter。它會讓你的生活更簡單顯著)

+0

答案給我1」,我需要以'1 "'結尾。 XML正在用作搜索。我試圖重現輸出。 – topofsteel

+0

@topofsteel:它們在XML中是等價的,除了需要轉義的情況以外(它不在文本節點中)。處理XML的任何東西都應該以相同的方式對待它。 –

+0

@topofsteel:查看我的編輯瞭解更多細節和替代方案,但請考慮替代方案。 –