gpt4 book ai didi

c# - 无法读取文档开头带有字符的 XML 文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:31 24 4
gpt4 key购买 nike

我正在尝试从 XML 文件中读取数据。数据在文档的开头有字符(文档以这种方式出现,因为我从 FTP 站点获取文件)所以我正在读取字符串,以便我可以用代码填充额外的字符。现在,当我在 Notepad++ 或写字板中打开文件时,它打开得很好,但当我想从我的程序中打开时,问题就来了。

我一如既往地尝试同时使用 streamreader 和 File.ReadAllText() 方法,但似乎没有任何效果。当我从我的代码运行它时,我得到的只是一些特殊字符

View from notepad++

OpenFileDialog OpenDialog = new OpenFileDialog();
OpenDialog.ShowDialog();
var FileName = OpenDialog.FileName;
var FileString = File.ReadAllText(FileName);

我也尝试过在读取文件时更改编码类型,但它仍然不起作用

最佳答案

那不是 XML 文件。正如其他人所解释的那样,它是一个二进制文件,在某些时候包含 XML。

如果您跳过二进制部分,您仍然可以读取 XML 内容。您可以使用 FileStream 和 StreamReader 打开它并阅读,直到到达 XML 文本的开头。

var tagAsInt=(int)'<';

using(var stream=File.OpenRead(pathToFile))
using(var sr=new StreamReader(stream))
{
while (sr.Peek() !=tagAsInt)
{
sr.Read();
}

var xml=new XmlDocument();
xml.Load(sr);
}

Peek() 检查流中的下一个字符而不使用它。

关于c# - 无法读取文档开头带有字符的 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54595652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com