【发布时间】:2013-08-07 10:14:01
【问题描述】:
好的,所以我有一个方法应该读取一个 XML 文档,然后将它们全部包装在一个更大的 XML 文档中。
<Elements>
<Element>
<Element>
</Elements>
问题是使用输出文件下方的代码时缺少声明
<?xml >
这是什么原因?我希望这是我想念的愚蠢的东西。
XmlWriter xmlWriter = XmlWriter.Create(outputFileName, xwsSettings);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("Elements");
foreach (var item in items)
{
xmlReader = XmlReader.Create(item.FullFilename);
while (xmlReader.Read())
{
if(xmlReader.NodeType == XmlNodeType.Element)
{
xmlWriter.WriteRaw(xmlReader.ReadOuterXml());
break;
}
}
}
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Flush();
xmlWriter.Close();
xmlWriter = null;
【问题讨论】:
-
xwsSettings中的设置是什么? -
是的,谢谢@Tim,我真是个白痴... xwsSettings.OmitXmlDeclaration = true;我之前确实处理过 ConformanceLevel.Fragment 这就是为什么我想我省略了声明......真是个白痴
-
尝试`XmlWriter.Create(sw, new XmlWriterSettings { OmitXmlDeclaration = true });`
-
发生在我们所有人身上,尤其是如果我们长时间盯着代码看 :)
-
@Nilesh - OP 希望包含 XML 声明,而不是省略它。
标签: c# xml xmlreader xmlwriter