问个XDocument Load问题

GavinAA 2010-10-14 11:03:12
我有一个XML文档。。
当用 XMLDocument Load时,正常没有问题,
但是当我改成用linq XML 的 XDocument Load 时 提示“.”(十六进制值 0x00)是无效的字符.
请问是什么原因,如何解决
...全文
395 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhubo_1117 2010-10-14
  • 打赏
  • 举报
回复
StreamReader reader = new StreamReader(path, Encoding.UTF8)
zhubo_1117 2010-10-14
  • 打赏
  • 举报
回复
如果是正常的话,
把目标xml读为流,然后再流里面设置正确的编码
zhubo_1117 2010-10-14
  • 打赏
  • 举报
回复
我有一个XML文档。。
当用 XMLDocument Load时,正常没有问题,
但是当我改成用linq XML 的 XDocument Load 时 提示“.”(十六进制值 0x00)是无效的字符.
请问是什么原因,如何解决


你先看看你要加载的xml,有没有乱码或者是否是正常的xml.
孟子E章 2010-10-14
  • 打赏
  • 举报
回复
你可以先用其他方法加载后再XDocument Load

XDocument.Load有多个重载方法
GavinAA 2010-10-14
  • 打赏
  • 举报
回复
那应如何解决呢?? xml是改不了的,,,,
孟子E章 2010-10-14
  • 打赏
  • 举报
回复
编码的问题吧。
GavinAA 2010-10-14
  • 打赏
  • 举报
回复
不是外网的, 我又查了查,递归有问题,,有多余的Load
多谢 老大,,,,,,
我再好好查一查
孟子E章 2010-10-14
  • 打赏
  • 举报
回复
你的数据是外网的吗?我们可以连接到吗
GavinAA 2010-10-14
  • 打赏
  • 举报
回复
To zhubosa
用流加进后,,依然报那个错

To# net_lover
# (【孟子E章】)
我用
XDocument xd = new XDocument();

System.Xml.XmlDocument d = new System.Xml.XmlDocument();
d.Load(path);
xd = XDocument.Parse(d.InnerXml);
这样加载, 这是在一个递归循环里,每个节点都要加载,取数据,但速度明显慢了很多, 有啥更好办法吗?

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧