我必须经历大量非常混乱且不一致的xml文档,其中一些文档具有多个根节点。我想使用XmlDocument。我所做的是使用带有ConformanceLevel.Fragment的XmlReader,我使用ReadOuterXml()将每一行追加到StringBuilder字符串。在查看StringBuilder字符串时,它看起来很好,但是当我使用LoadXml将它添加到XmlDocument时,我必须将其转换为.ToString(),然后将其混乱。
这是
<info version="1.3.1.3-en" />
看起来像这样
<info version="\"1.3.1.3-en\"" />
这是我用来创建XmlDocument
的代码 public XmlDocument createXDocFromReader(string fi, string parentNode)
{
XmlDocument xDoc = new XmlDocument();
XmlReaderSettings readerSettings = new XmlReaderSettings();
readerSettings.ConformanceLevel = ConformanceLevel.Fragment;
StringBuilder xmlString = new StringBuilder();
xmlString.Append("<" + parentNode + ">");
using (XmlReader reader = XmlReader.Create(fi, readerSettings))
{
while (reader.Read())
{
xmlString.Append(reader.ReadOuterXml());
}
}
xmlString.Append("</" + parentNode + ">");
xDoc.LoadXml(xmlString.ToString());
return xDoc;
}