溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

xml空格WhiteSpace處理

發(fā)布時(shí)間:2020-06-29 18:40:56 來(lái)源:網(wǎng)絡(luò) 閱讀:4581 作者:清風(fēng)徐來(lái)918 欄目:開(kāi)發(fā)技術(shù)


XML 將以下四種字符歸為空白字符 WhiteSpace :回車(chē)符(\r 或 ch(13))、換行符(\n 或 ch(10))、制表符 (\t) 以及空格 (' ')。

在 XML 文檔中,空白字符分為兩類(lèi):有意義空白字符 是文檔內(nèi)容的一部分,應(yīng)予以保留。無(wú)意義空白字符 在編輯 XML 文檔時(shí)使用,以增加可讀性。這些空白字符一般在文檔交付時(shí)不予保留。


默認(rèn)情況,WhiteSpace是 DOM_Document的子節(jié)點(diǎn),類(lèi)型是DOM_Text,所以 XML的空白問(wèn)題只是針對(duì)文本元素DOM_Text,對(duì)于元素的屬性沒(méi)有影響


1.xml

<AddBook>

 <Name/>

 <Mobile/>

</AddBook>

xml空格WhiteSpace處理

根節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)為 5 ( 錯(cuò)誤 )



2.xml

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

xml空格WhiteSpace處理

根節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)為 2 ( 正確 )


W3C XSLT 規(guī)范提供了 xsl:strip-space()函數(shù), 刪除空白字符文本節(jié)點(diǎn) (即文本節(jié)點(diǎn)完全由空白字符組成)的 XML文本元素。

W3C XSLT 還提供 xsl:normalize-space() 函數(shù),將包含多個(gè)空白字符的XML文本元素轉(zhuǎn)換為 一個(gè)空白字符 的XML文本元素。


舉例:

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

<Class name="計(jì)算機(jī)軟件班" id="001">

   <Students>

<!-- 注釋?zhuān)簊tudent: 張      三 -->

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

           <電話> 8820     8888 </電話>

           <address> 西安市太    白南路二號(hào) </address>

       </student>


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

           <phone>88206666</phone>

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

       </student>


   </Students>

</Class>



注意事項(xiàng):

(1)屬性值 加引號(hào)是 字符串 否則是數(shù)字, 參考age

(2)<電話> 8820     8888 </電話> 這個(gè)是 文本Node, 如果使用了 空格壓縮 機(jī)制, 輸出為 8820 8888 多個(gè)空格合并成一個(gè), 屬性名稱(chēng)不受影響, 參考name="張      三"


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI