xml文件以unicode方式打开

时间:2021-05-23 20:20:15
我在做一个受理程序时,用XmlDocument.load方法打开一个XML文件时,报错“”(十六进制值 0x1A)是无效的字符,经过排查后发现是文件里面有""这个字符,我想问一下大家有没有办法让xmlDocument.load方法打开这个文件里不报错呢.因为我想单独打有""这个字符的记录退了,也不是整个XML文件都给退了或者重新生成这个XML文件.

12 个解决方案

#1


先对XML文件进行处理后再通过XmlDocument.load读取

#2


怎么处理?能说明白一点吗?

#3


读入XML,把无效的字符去掉,重新生成一个新的XML

#4


我想在不改动或生成xml文件的基础上,不知道这样子可不可以呢?

#5


还没有人回答,自己顶下,知道的人请告诉我

#6


不改动就会报错 你先把这个xml读成一个字符串
然后在内存中处理这个字符串并把这个特殊字符去掉或者换掉
最后用XmlDocument.LoadXml方法

#7


先用File.ReadAllText(path) 读进XML, 用Replace将乱字符替换为"" ,(就是删除乱字符),然后用XmlDocument.LoadXml 加载此字符串.

如果你想保持xml文件不变,还能正确loadxml此文件是不行的!

#8


XML描述的编码和 文本的编码不一致啊。. .

你可以尝试一下把编码改为UTF-16
 <?xml version="1.0" encoding="utf-16" ?> 

你先看看这个XML的编码吧.

#9


不改动是不可能的.  

因为你现在XML文件错了.

他自描述的编码和实际的文本编码不一致.

你觉得不改动可以吗?

#10


那我想问一下有在catch捕获的错误信息中,由程序判断出出错原因是XML文件在问题的方法吗?

#11


有人能回答一下吗!求求知道的人,告诉我吧!!

#12


还没有回答...

#1


先对XML文件进行处理后再通过XmlDocument.load读取

#2


怎么处理?能说明白一点吗?

#3


读入XML,把无效的字符去掉,重新生成一个新的XML

#4


我想在不改动或生成xml文件的基础上,不知道这样子可不可以呢?

#5


还没有人回答,自己顶下,知道的人请告诉我

#6


不改动就会报错 你先把这个xml读成一个字符串
然后在内存中处理这个字符串并把这个特殊字符去掉或者换掉
最后用XmlDocument.LoadXml方法

#7


先用File.ReadAllText(path) 读进XML, 用Replace将乱字符替换为"" ,(就是删除乱字符),然后用XmlDocument.LoadXml 加载此字符串.

如果你想保持xml文件不变,还能正确loadxml此文件是不行的!

#8


XML描述的编码和 文本的编码不一致啊。. .

你可以尝试一下把编码改为UTF-16
 <?xml version="1.0" encoding="utf-16" ?> 

你先看看这个XML的编码吧.

#9


不改动是不可能的.  

因为你现在XML文件错了.

他自描述的编码和实际的文本编码不一致.

你觉得不改动可以吗?

#10


那我想问一下有在catch捕获的错误信息中,由程序判断出出错原因是XML文件在问题的方法吗?

#11


有人能回答一下吗!求求知道的人,告诉我吧!!

#12


还没有回答...