2016-07-15 29 views
0

在c#中加载xml文档时,我收到有关不正确格式的错误。当使用下面的代码,通过XmlDocument加载xml时出现奇怪的行为

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml(fileName); 

我收到错误算账:

在根级别

数据是无效的。 1号线,位置1

但是,如果我改变第一次出现于以下,一切正常,并xmlDoc中的类型其实XmlDocument的:

var xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml(fileName); 

我的XML的一个片段是文件如下:

<?xml version="1.0" encoding="utf-8"?> 
<AutomatedTests type="asdf"> 
    <TestGroup> 
    </TestGroup> 
</AutomatedTests> 

是否有任何解释为什么会发生这种情况?

+0

你的xml是否真的错过了关闭“>”,或者你只是错误地复制?:) – DVarga

+0

啊好。我错了! – Hondros

+0

[XmlDocument.LoadXml方法(字符串)](https://msdn.microsoft.com/en-us/library/system.xml.xmldocument.loadxml(v = vs.110).aspx) - 加载XML文档指定的字符串。而[XmlDocument.Load方法](https://msdn.microsoft.com/en-us/library/system.xml.xmldocument.load(v = vs.110).aspx) - 加载指定的XML数据流,URL,TextReader或XmlReader。 – Nkosi

回答

2

假设文件名是路径,请尝试下面的代码。

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.Load(fileName); 

XMLDocument.load方法负载XML无论是从一个流,TextReader的,路径/ URL,或的XmlReader和XmlDocument.LoadXml加载包含在字符串内的XML。

+0

这是我在上面第一个代码片段中的确切代码。它返回错误“根层的数据是无效的,行1,位置1”。 – Hondros

+0

@Hondros你有'LoadXml'这两个片段 – Nkosi

+0

我不能相信我错过了。巧合的是,这与我在代码中使用不同函数的几行相同。谢谢你的收获,现在一切正常运行! – Hondros

相关问题