码迷,mamicode.com
首页 > 其他好文 > 详细

xml空格WhiteSpace处理

时间:2016-11-29 00:21:38      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:xml   空格   whitespace   


XML 将以下四种字符归为空白字符 WhiteSpace :回车符(\r 或 ch(13))、换行符(\n 或 ch(10))、制表符 (\t) 以及空格 (‘ ‘)。

在 XML 文档中,空白字符分为两类:有意义空白字符 是文档内容的一部分,应予以保留。无意义空白字符 在编辑 XML 文档时使用,以增加可读性。这些空白字符一般在文档交付时不予保留。


默认情况,WhiteSpace是 DOM_Document的子节点,类型是DOM_Text,所以 XML的空白问题只是针对文本元素DOM_Text,对于元素的属性没有影响


1.xml

<AddBook>

 <Name/>

 <Mobile/>

</AddBook>

技术分享

根节点的子节点数为 5 ( 错误 )



2.xml

<AddBook><Name/><Mobile/></AddBook>

技术分享

根节点的子节点数为 2 ( 正确 )


W3C XSLT 规范提供了 xsl:strip-space()函数, 删除空白字符文本节点 (即文本节点完全由空白字符组成)的 XML文本元素。

W3C XSLT 还提供 xsl:normalize-space() 函数,将包含多个空白字符的XML文本元素转换为 一个空白字符 的XML文本元素。


举例:

<?xml version="1.0" encoding="GB2312" standalone="yes" ?>

<Class name="计算机软件班" id="001">

   <Students>

<!-- 注释:student: 张      三 -->

       <student name="张      三" studentNo="13031001" sex="男" age=22 >

           <电话> 8820     8888 </电话>

           <address> 西安市太    白南路二号 </address>

       </student>


       <student name="李四" studentNo="13031002" sex="男" age="20">

           <phone>88206666</phone>

           <address>西安市光华路</address>

       </student>


   </Students>

</Class>



注意事项:

(1)属性值 加引号是 字符串 否则是数字, 参考age

(2)<电话> 8820     8888 </电话> 这个是 文本Node, 如果使用了 空格压缩 机制, 输出为 8820 8888 多个空格合并成一个, 属性名称不受影响, 参考name="张      三"


xml空格WhiteSpace处理

标签:xml   空格   whitespace   

原文地址:http://cui918.blog.51cto.com/5884562/1877356

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!