亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串轉義成XML

字符串轉義成XML

慕桂英3389331 2019-11-28 12:56:44
是否有任何C#函數可用于轉義和取消轉義字符串,可用于填充XML元素的內容?我正在使用VSTS 2008 + C#+ .Net 3.0。編輯1:我是串聯簡單和短期的XML文件,我不使用序列化,所以我需要手動明確轉義XML字符,例如,我需要把a<b成<foo></foo>,所以我需要逃避串a<b并付諸元素富。
查看完整描述

3 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

您說“我正在串聯簡單而簡短的XML文件,并且我不使用序列化,所以我需要手動顯式轉義XML字符”。


我強烈建議您不要用手做。使用XML API為您完成所有工作-讀取原始文件,然后將這兩個文件合并為一個文檔(您可能需要使用XmlDocument.ImportNode),然后再次將其寫出。您不想編寫自己的XML解析器/格式器。序列化在這里有點無關緊要。


如果您可以為我們提供一個簡短而完整的示例來說明您要做什么,那么我們可能可以幫助您避免一開始就擔心逃脫。


原始答案


您的意思還不清楚,但是通常XML API會為您完成此操作。您在一個節點中設置文本,它將自動轉義任何需要的內容。例如:


LINQ to XML示例:


using System;

using System.Xml.Linq;


class Test

{

    static void Main()

    {

        XElement element = new XElement("tag",

                                        "Brackets & stuff <>");


        Console.WriteLine(element);

    }

}

DOM示例:


using System;

using System.Xml;


class Test

{

    static void Main()

    {

        XmlDocument doc = new XmlDocument();

        XmlElement element = doc.CreateElement("tag");

        element.InnerText = "Brackets & stuff <>";

        Console.WriteLine(element.OuterXml);

    }

}

兩個示例的輸出:


<tag>Brackets &amp; stuff &lt;&gt;</tag>

當然,這是假設您要轉義XML。如果不是,請發布更多詳細信息。


查看完整回答
反對 回復 2019-11-28
  • 3 回答
  • 0 關注
  • 763 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號