加载XML-跳过第一行

时间:2016-06-17 12:59:52

标签: xml xml-parsing

我正在尝试从网站解析xml,我收到错误“根级别的数据无效。第1行,第1位。

以下是网站输出:

<Forecast xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Days>

<Day>

<date>16/06/2016</date>

...etc

我不知道为什么第一行导致错误,但是在我阅读时是否可以跳过该行,并且只是到达Days元素?我在这里读到了其他有同样错误的问题,但没有一个解决方案适合我。

我正试图以这种方式阅读xml:

XmlDocument doc1 = new XmlDocument();
doc1.Load(url);
XmlElement root = doc1.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/Forecast/Days/Day");
foreach (XmlNode node in nodes)
{
            string max = node["temp_max_f"].InnerText;
            string min = node["temp_min_f"].InnerText;
            string date = node["date"].InnerText;
            Console.WriteLine("{0}   {1}    {2}", date, max, min);

} 

1 个答案:

答案 0 :(得分:2)

您提供的第一行通常是在尝试查找样式信息时由浏览器生成的。 编辑:您现在改变了。所以,不要混淆我把它划掉的其他人。

事实上,在下载文件时,您正在查看纯XML。 我的第一个意图是BOM(也找到了here,解决方案应该是here)。

在尝试解析XML数据时,解析器会找到字节顺序标记(BOM)并抛出错误。因此,删除示例中的BOM应该可以解决问题。