跳过第一行将文件流读入XmlDocument

时间:2020-10-15 21:32:51

标签: c# .net xml

我正在尝试读取一些XML文件,这些文件有时在顶部有一个非XML描述符行。我正在以FileStream的形式读取它们,然后尝试使用:

              { 
                  category.map((cat, index) => (
                    <li class="nav-item">
                         <a 
                           aria-controls={id} 
                           aria-selected="true" 
                           onClick={() => setValue(index)} 
                           className="nav-link active show portfolio-nav" 
                           data-toggle="tab" 
                           data-work-tab={cat.toUpperCase()} 
                           href={`#${cat}`} 
                           id={id} 
                           role="tab">
                            {cat}
                          </a>
                  </li>
                  ))
              
              }

当然会失败并显示错误

根级别的数据无效。第1行,位置1

是否有一种简单的方法可以跳过第一行并仍将文件流用作var source = new FileStream(path); var doc = new XmlDocument(); doc.Load(source); 的源?

1 个答案:

答案 0 :(得分:0)

您可以使用StreamReader,只需阅读第一行

using var fileStream = new FileStream(@"D:\SomeXml.Xml", FileMode.Open);
using var streamReader = new StreamReader(fileStream);
var line = streamReader.ReadLine();
Console.WriteLine(line);

var doc = new XmlDocument();
doc.Load(streamReader);