【发布时间】:2011-06-06 13:48:35
【问题描述】:
我的代码给了我错误:“'.',十六进制值 0x00,是无效字符。第 2 行,位置 1。”
string FileName = "20110606 100419 ServerForShop 1.xml";
string root = Server.MapPath("~/Include/Xml Files/Patch/");
var custs = from c in XElement.Load(root + FileName).Elements("Update")
select c;
我想读取和执行命令一个大的 xml 文件,它大约 350MB 我怎么能读取它?这是我的 xml 文件结构:
<?xml version="1.0" encoding="utf-8"?>
<Update>
<Object Name="Good">
<Insert Table="Good">
<Field Name="GoodCode" Value="1" Type="Integer" />
<Field Name="GoodUserCode" Value="" Type="String" />
.
.
.
</Insert>
</Object>
</Update>
【问题讨论】:
-
听起来您的 XML 文件实际上是无效的 - 它可能以 UTF-16 编码,尽管它声称是 UTF-8。
-
您不能执行 XML 文件.... XML 是数据 - 不是可执行代码....
-
使用一个hexdump程序,看看stackoverflow.com/users/22656/jon-skeet是否正确
-
@marc_s:如果您的 XML 对处理指令进行编码,您就可以执行它——就像任何其他基于文本的编程语言一样。
-
@Gabe:好的,但这似乎是一个相当罕见的极端情况——不是一般的典型 XML 使用......
标签: c# linq linq-to-xml