3 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
您說“我正在串聯(lián)簡(jiǎn)單而簡(jiǎn)短的XML文件,并且我不使用序列化,所以我需要手動(dòng)顯式轉(zhuǎn)義XML字符”。
我強(qiáng)烈建議您不要用手做。使用XML API為您完成所有工作-讀取原始文件,然后將這兩個(gè)文件合并為一個(gè)文檔(您可能需要使用XmlDocument.ImportNode),然后再次將其寫出。您不想編寫自己的XML解析器/格式器。序列化在這里有點(diǎn)無關(guān)緊要。
如果您可以為我們提供一個(gè)簡(jiǎn)短而完整的示例來說明您要做什么,那么我們可能可以幫助您避免一開始就擔(dān)心逃脫。
原始答案
您的意思還不清楚,但是通常XML API會(huì)為您完成此操作。您在一個(gè)節(jié)點(diǎn)中設(shè)置文本,它將自動(dòng)轉(zhuǎn)義任何需要的內(nèi)容。例如:
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);
}
}
兩個(gè)示例的輸出:
<tag>Brackets & stuff <></tag>
當(dāng)然,這是假設(shè)您要轉(zhuǎn)義XML。如果不是,請(qǐng)發(fā)布更多詳細(xì)信息。
添加回答
舉報(bào)