如何把一段XML字符串加入到XML文档中?一个字符串加入到XML DOM中不象想的那么容易。我们需要使用XmlDocumentFragment(它是XmlNode的子类)才行。 下面是一段范例代码: using System; using System.Xml; namespace XMLSample
{
/// <summary>
///
/// </summary>
class Startup
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// This is the document that we're starting with
string startingXml = @"<?xml version='1.0'?>
<DECORATING_IDEAS_ROOM>
<WEBIMG>
<IMG NAME='Header' src='/images/living1.gif'/>
</WEBIMG>
<WEBIMG>
<IMG NAME='SubHeader' src='/images/sub_living.gif'/>
</WEBIMG>
<WEBIMG>
<IMG NAME='Room' src='/images/living12.jpg'/>
</WEBIMG>
</DECORATING_IDEAS_ROOM>
";
// 新建一个XML文件,此文件用于示例
XmlDocument doc = new XmlDocument();
doc.LoadXml(startingXml);
Console.WriteLine("The original XML...");
doc.Save(Console.Out);
Console.WriteLine();
// 下面是需要插入的字符串 string toInsert = @"
<WEBIMG>
<IMG NAME='BuyHeader' src='/images/abc.jpg'/>
</WEBIMG>
";
// 创建XMLNODE结点,这是这个问题的关键
XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
// 设置这个节点的内容,这是正真干活的代码
docFrag.InnerXml = toInsert;
// 加入新结点
doc.DocumentElement.AppendChild(docFrag);
Console.WriteLine();
Console.WriteLine("The modified XML:");
doc.Save(Console.Out); }
}
}
|