.net xml中无效字符处理
来源:互联网 发布:视频压缩算法工程师 编辑:程序博客网 时间:2024/05/22 12:24
/// <summary>
/// 将部分无效字符替换成空
/// </summary>
/// <param name="responseXml">Gta服务器Response后返回的Xml数据</param>
/// <returns>string</returns>
private string ConvertHex(string responseXml)
{
UTF8Encoding encoding = new UTF8Encoding();
Byte[] responseByteArr = encoding.GetBytes(responseXml);
for (int i = 0; i < responseByteArr.Length; i++)
{
if (responseByteArr[i] < 32)
{
responseByteArr[i] = 32;
}
}
return encoding.GetString(responseByteArr);
}
=======================================
convertXml主要用于,XML 名称及与xsd配合使用转用相磁类型
以下转自msdn
对 XML 名称进行编码和解码并提供方法在公共语言类型库类型和 XML 架构定义语言 (XSD) 类型之间进行转换。当转换数据类型时,返回的值是独立于区域设置的。
根据位于 www.w3.org/TR/2000/REC-xml-20001006.html 的可扩展标记语言 (XML) 1.0(第二版)建议,元素和属性名或 ID 值限于一系列 XML 字符。当名称包含无效字符时,EncodeName 和 DecodeName 方法用于将它们转换为有效的 XML 名称。
许多语言和应用程序(例如 Microsoft SQL Server 和 Microsoft Word)允许在它们的名称中使用 Unicode 字符,这些字符在 XML 名称中是无效的。例如,如果“Order Detail”是数据库中的一个列标题,则数据库允许在单词 Order 和 Detail 之间使用空格。但是,在 XML 中,Order 和 Detail 之间的空格将被视为无效的 XML 字符。这样,需要将该空格(一个无效的字符)转换为转义的十六进制编码,并可在以后对该编码进行解码。
可以将 EncodeName 方法和 XmlWriter 类一起使用来确保正在书写的名称是有效的 XML 名称。下面的 C# 代码将名称“Order Detail”转换为有效的 XML 名称并编写元素 <Order_0x0020_Detail>My order</Order_0x0020_Detail>
。
writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order");
XmlConvert 还提供了使您能够在字符串和 .NET Framework 数据类型之间进行相互转换的方法。在数据转换过程中不考虑区域设置。数据类型基于 XML 架构 (XSD) 数据类型。
在 .NET Framework 2.0 版中,XmlReader、XmlWriter 和 XPathNavigator 类包含可处理类型化数据的新方法。这些新方法为您处理字符串到 .NET Framework 数据类型的转换。
- .net xml中无效字符处理
- XML十六进制无效字符的处理
- 解决asp.net中:名称以无效字符开头.处理资源
- XML无效字符过滤
- Java中处理有效字符,截取小数无效字符
- xml文件出错:文本内容中发现无效字符。
- “xml文本内容中发现无效字符”的解决方案
- java 替换 xml文件中无效的字符
- ASP.net中"名称以无效字符开头"问题解决?
- ASP.net中"名称以无效字符开头"问题解决?
- ASP.net vs2010 中"名称以无效字符开头"问题解决?
- ASP.net中"名称以无效字符开头"问题解决方法
- 解析XML文件时,无效的XML 字符 (Unicode: 0x7)异常处理
- 处理XML字符串中特殊字符
- 处理XML字符串中特殊字符
- 处理XML字符串中特殊字符
- Xml中特殊字符的处理
- XML中特殊字符的处理
- Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a
- cakephp分页/cakephpページング/cakephp paging
- 开发笔记:Java命名规范
- DTD - 实体(Entities)
- 做程序员最重要的是什么?
- .net xml中无效字符处理
- 帮同学清除在QQ群里乱发消息的病毒MsnSvc64.exe
- 用sql语句将当前库下的数据导入到指定库
- Linux那些事儿 之 戏说USB(33)驱动的生命线(一)
- 全面掌握VisualC#实现UDP协议(一)
- See what in Yahoo pipe
- ERP words
- cougaar学习笔记一
- qt4:读取文本文件