【发布时间】:2016-08-08 11:27:35
【问题描述】:
我试图用一堆 xml 文件解析一个文件夹。 xml 文件包含有关某些车辆的信息。 XML 文件是自动生成的,其中一些包含无效字符。问题是,文件太多,我无法手动更正它们。所以我想知道如何绕过无效字符异常? 这是某些 xml 文件中的无效行:
<ECU EcuName="ABS" EcuFamily="BSS" CplNo="" Address="0x0B" ConfigChecksum="0x00000000" Updated="false">
我尝试使用 Streamreader 没有任何成功。这是我的代码:
XDocument docs = XDocument.Load(new System.IO.StreamReader((path), Encoding.GetEncoding("utf-8")));
var nameValues =
from fpc in docs.Descendants("FPC")
select new
{
Name = (string)fpc.Attribute("Name"),
Value = (string)fpc.Attribute("Value")
};
【问题讨论】:
-
从什么开始创建文件?最好解决这个问题。
-
在更新车辆时,该文件由不同的软件更新程序创建。 xml 文件包含有关车辆的自动生成信息,该信息由我无法控制的另一个程序生成。 @JonSkeet
-
这很尴尬。您可以读取每个文件并将
&#01;替换为空字符串,例如...这是唯一的无效字符,以及它出现的唯一格式吗? -
我知道,问题是 xml 文件是只读文件。所以我不能改变他们的任何东西。 @JonSkeet
标签: c# xml linq-to-xml invalid-characters