我基本上想知道如何在另一个XmlDocument中插入一个XmlDocument。
第一个XmlDocument将具有基本的页眉和页脚标记。第二个XmlDocument将是必须插入到第一个XmlDocument中的主体/数据标记。
string tableData = null;
using(StringWriter sw = new StringWriter())
{
rightsTable.WriteXml(sw);
tableData = sw.ToString();
}
XmlDocument xmlTable = new XmlDocument();
xmlTable.LoadXml(tableData);
StringBuilder build = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(build, new XmlWriterSettings { OmitXmlDeclaration = true }))
{
writer.WriteStartElement("dataheader");
//need to insert the xmlTable here somehow
writer.WriteEndElement();
}有没有更简单的解决方案?
发布于 2012-09-07 21:59:41
在文档解析器中使用importNode功能。
发布于 2012-09-07 21:59:54
您将需要在CDATA部分中编写内部XML文件。
对这样的节点使用writer.WriteCData,将内部XML作为文本传入。
writer.WriteCData(xmlTable.OuterXml);另一种选择(thanks DJQuimby)是将XML编码为某种XML兼容格式(比如base64) -请注意,所使用的编码必须是XML兼容的,并且某些编码方案会增加编码文档的大小(base64会增加约30%)。
发布于 2012-09-07 22:00:45
您可以使用基于CreateCDataSection方法的代码
// Create an XmlCDataSection from your document
var cdata = xmlTable.CreateCDataSection("<test></test>");
XmlElement root = xmlTable.DocumentElement;
// Append the cdata section to your node
root.AppendChild(cdata);链接:http://msdn.microsoft.com/fr-fr/library/system.xml.xmldocument.createcdatasection.aspx
https://stackoverflow.com/questions/12319574
复制相似问题