C#从数据库中提取数据生成XML文件,系统报错,提示"♀(十六进制值0x0c)是无效的字符"
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#从数据库中提取数据生成XML文件,系统报错,提示"♀(十六进制值0x0c)是无效的字符"相关的知识,希望对你有一定的参考价值。
不知道哪条出错了,设置节点也看不出来。怎么办,程序是循环的。
是数据库内某个字段的值存在“♀”这个符号吗?急!!
处理方法:在产生xml文件的时候,过滤低位非打印字符
public static string ReplaceLowOrderASCIICharacters(string tmp)
StringBuilder info = new StringBuilder();
foreach (char cc in tmp)
int ss = (int)cc;
if (((ss >= 0) && (ss <= 8)) || ((ss >= 11) && (ss <= 12)) || ((ss >= 14) && (ss <= 32)))
info.AppendFormat(" ", ss);//:X;
else info.Append(cc);
return info.ToString();
参考技术A 看看是不是含有转移字符,我觉得对半是这个的原因
如何提取XML文件中的数据?
参考技术A 使用SAXReader需要导入dom4j-full.jar包。dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。
SAXReader parser=new SAXReader();//dom4j解析器
Reader reader;
try
reader = new FileReader("文件.xml");
Document doc=parser.read(reader); //xml加载document象
Element root=doc.getRootElement(); //按照树思想进行解析
List<Element> list=root.elements();//级元素集合elementIterator()
for(Element ele :list)
List<Element> eles = ele.elements();//取需要TWO属性
// 比较取需要two即
以上是关于C#从数据库中提取数据生成XML文件,系统报错,提示"♀(十六进制值0x0c)是无效的字符"的主要内容,如果未能解决你的问题,请参考以下文章
如何在不写入磁盘的情况下将 XML 从 Delphi 传递到 C#?