首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XmlReader读()异常

XmlReader读()异常
EN

Stack Overflow用户
提问于 2013-03-07 19:43:11
回答 1查看 1.1K关注 0票数 0

我试图用xmlreader读取一个xml文件,下面是我的代码:

代码语言:javascript
复制
public XmlReader LoadXMLToReader(string inputXMLPathFile)
{
    byte[] xmlData = Encoding.UTF8.GetBytes(inputXMLPathFile);
    MemoryStream xmlStream = new MemoryStream(xmlData);
    xmlStream.Position = 0;

    XmlReader reader = XmlReader.Create(xmlStream);
    reader.Read();
    return reader;
}

该函数在reader.read()上给出了一个错误:“根级别的数据无效。第1行位置1”,我读到了有关BOM的内容,那么如何修复这个函数以防止BOM发生呢?

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<Columns>
  <Column>1</Column>
  <Column>2</Column>
  <Column>3</Column>
</Columns>

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2013-03-07 22:55:57

问题在于这一行代码:

代码语言:javascript
复制
byte[] xmlData = Encoding.UTF8.GetBytes(inputXMLPathFile);

您将文件名传递给一个函数,该函数返回字符串的二进制表示形式--传递给该函数的实际字符串,而不是神奇地引用到作为字符串值传入的路径的文件。

有许多选项可以简化您的方法。其中之一是:

代码语言:javascript
复制
public XmlReader LoadXMLToReader(string inputXMLPathFile)
{
    return XmlReader.Create(File.Open(inputXMLPathFile, FileMode.Read));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15280269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档