C#从数据库中提取数据生成XML文件,系统报错,提示"♀(十六进制值0x0c)是无效的字符"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#从数据库中提取数据生成XML文件,系统报错,提示"♀(十六进制值0x0c)是无效的字符"相关的知识,希望对你有一定的参考价值。

不知道哪条出错了,设置节点也看不出来。怎么办,程序是循环的。
是数据库内某个字段的值存在“♀”这个符号吗?急!!

产生原因是xml文件中包含低位非打印字符造成的
处理方法:在产生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)是无效的字符"的主要内容,如果未能解决你的问题,请参考以下文章

使用模型 C# 从数据库创建 XML 文件

如何在不写入磁盘的情况下将 XML 从 Delphi 传递到 C#?

如何在 C# 中从数据表生成 XML

如何使用自定义 XSD 架构编写 XML?

C#控制台基础 在博客备份xml文件中提取所有博文的标题 (正则,流读取)

从扫描的文档中提取数据c#