我爱Aspx >> XML/XLST >> 在.NET Framework中轻松处理XML数据(二)XmlConvert类提供了把非XML标准的命名转换成标准的XML命名的功能。当标签名中包含有无效的XML字符时,EncodeName 和 DecodeName方法能把它们调整成符合Schema的XML命名。包括SQL Server™ 和Microsoft Office,这些应用程序允许及支持Unicode文档,然而,这些文档中的字符有些也不是有效的XML命名。典型的情况是在你处理数据库中包含空格的列名时。虽然SQL Server允许长列名,但这对XML流来说可能就不是有效的命名。空格会被十六进制代码Invoice_0x0020_Details替代。下面的代码演示了怎么样在程序中获得该字符串:
XmlConvert.EncodeName("Invoice Details");
与此相反的方法是DecodeName。该方法把XML文本转换成其原始的格式。要注意的是它只能转换完整的十六进制代码,只有_0x0020_才被当成一个空格,而_0x20_就不是了:
XmlConvert.DecodeName("Invoice_0x0020_Details");
在XML文档中的空格即重要也不重要。说它重要,是当它出现在元素的内容中或者它在注释语句中时,它能表示实际意义。例如下面的情况:
<MyNode xml:space="preserve">
<!-- any space here must be preserved -->
•••
</MyNode>
在xml中,空格不只是代表空格(空白),也代表回车、换行和缩进。
通过XmlTextReader类的WhiteSpaceHandling属性你可以处理空格。这个属性接受及返回一个WhiteSpaceHandling枚举值(该枚举类有三种可选值)。默认值是All,它表示有意义和无意义的空格都会作为节点返回---- 分别为SignificantWhitespace和Whitespace节点。 另一个枚举值是None,它表示对任何空格都不作为节点返回。最后,就是Signficant枚举值,它表示忽略没有意义的空格,而只返回节点类型为SignficantWhitespace的节点。注意WhiteSpaceHandling属性是少数阅读器属性中的一个。它能被改变在任何时候和给Read操作带来影响。而Normalization及 XmlResolver属性是“Sensitive”的。
[1] [2] 下一页 【我对这篇文章有话说?】
Visual Basic.NET带来的新方法(一..[05-05]
利用VC++获取异构型数据库库结构..[05-05]
抢救零磁道损坏的软盘数据[05-05]
浅谈DB2数据库的备份与恢复(下)[05-05]
浅谈DB2数据库的备份与恢复(上)[05-05]
Microsoft .NET Remoting:技术概..[05-05]
ASP.NET 入门的五个步骤[05-05]
将你的Visual Basic 6.0移植到Vi..[05-05]
利用 .NET 框架简化发布和解决 D..[05-05]
作为 API 的 XML[05-05]
系统级C语言程序设计[05-05]
Visual Basic.NET带来的新方法(一..[05-05]
用VB设计能适应各种显示属性的界..[05-05]
关于VC中的DLL的编程[05-05]
解决BoundsChecker和VC打架的方法[05-05]
用VC++实现异形窗口.[05-05]
MFC消息响应机制分析[05-05]
一种不易察觉的内存泄露[05-05]
多边形窗口[05-05]
如何在IE右键菜单中添加菜单项以..[05-05]