xml 解析出错

shenyue304 2011-12-30 01:31:02
'.', hexadecimal value 0x00, is an invalid character. Line 629, position -3749.
在使用XDocument.Parse(xml)出现这个错误,不知道是否是不规则字符引起的。


堆栈信息:
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowInvalidChar(Int32 pos, Char invChar)
at System.Xml.XmlTextReaderImpl.ParseNumericCharRefInline(Int32 startPos, Boolean expand, BufferBuilder internalSubsetBuilder, Int32& charCount, EntityType& entityType)
at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
at System.Xml.XmlTextReaderImpl.FinishPartialValue()
at System.Xml.XmlTextReaderImpl.get_Value()
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r)
at System.Xml.Linq.XContainer.ReadContentFrom(XmlReader r, LoadOptions o)
at System.Xml.Linq.XDocument.Load(XmlReader reader, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text, LoadOptions options)
at System.Xml.Linq.XDocument.Parse(String text)
at DB.SourcePagesProfile.SaveCVActive(String xml) in D:\parserProject\TransferEngine\NBDataTransferService\DB\SourcePagesProfile.cs:line 23
at NBDataTransferWebService.DownLoadDataFromSH.DownloadSourceResume(String sourcePagesXml, String type) in D:\parserProject\TransferEngine\NBDataTransferService\NBDataTransferWebService\DownLoadDataFromSH.asmx.cs:line 63
...全文
313 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shenyue304 2012-01-06
  • 打赏
  • 举报
回复
谢谢大家问题已经解决,是因为XDocument.Parse(xml)方法是把引入的xml文件内容从头到脚读取一边,在读取是碰到不规范字符,导致出现这个异常,当然由于xml文件非常庞大,报出的错误里又没有这个字符,由于项目时间近所以我选择了另外一种方式,去读取xml。
闪耀星星 2011-12-30
  • 打赏
  • 举报
回复
XML格式不规范
thy442030800 2011-12-30
  • 打赏
  • 举报
回复
那就是xml格式不对
shenyue304 2011-12-30
  • 打赏
  • 举报
回复
Ivan (阿云)的方法我已经试过还是有问题
shenyue304 2011-12-30
  • 打赏
  • 举报
回复
xml文件内容非常多,所以实在不方便贴出来
sdl2005lyx 2011-12-30
  • 打赏
  • 举报
回复
你把那个xml文件贴出来。。。
kingdom_0 2011-12-30
  • 打赏
  • 举报
回复
转化的xml格式有问题
阿云ivan 2011-12-30
  • 打赏
  • 举报
回复
替换掉特殊字符

string xmlStr = "your xml string";
string resultXmlStr = System.Text.RegularExpressions.Regex.Replace(xmlStr, @"\p{C}+", "");
XDocument.Parse(resultXmlStr);

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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