溫馨提示×

溫馨提示×

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

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

數(shù)據(jù)中有'<'、'&'符號時,封裝的XML就無法解析怎么辦

發(fā)布時間:2020-10-10 16:25:52 來源:億速云 閱讀:369 作者:小新 欄目:編程語言

這篇文章主要介紹數(shù)據(jù)中有&#039;<&#039;、&#039;&&#039;符號時,封裝的XML就無法解析怎么辦,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

寫了個request2XML的方法,每當(dāng)數(shù)據(jù)中有'<'、'&'符號時,封裝的XML就無法解析。發(fā)現(xiàn)了XML里的CDATA屬性,問題迎刃而解!在XML文檔中的所有文本都會被解析器解析。 只有在CDATA部件之內(nèi)的文本會被解析器忽略。----------------------------------------------------- 解析數(shù)據(jù) XML 解析器通常情況下會處理XML文檔中的所有文本。 當(dāng)XML元素被解析的時候,XML元素內(nèi)部的文本也會被解析: <message>This text is also parsed</message> XML解析器這樣做的原因是XML元素內(nèi)部可能還包含了別的元素,象下面的例子,name元素內(nèi)部包含了first和last兩個元素: <name><first>Bill</first><last>Gates</last></name> 解析器會認(rèn)為上面的代碼是這樣的: <name> <first>Bill</first> <last>Gates</last> </name> -----------------------------------------------------

轉(zhuǎn)義字符不合法的XML字符必須被替換為相應(yīng)的實體。 如果在XML文檔中使用類似"<" 的字符, 那么解析器將會出現(xiàn)錯誤,因為解析器會認(rèn)為這是一個新元素的開始。所以不應(yīng)該象下面那樣書寫代碼: <message>if salary < 1000 then</message> 為了避免出現(xiàn)這種情況,必須將字符"<" 轉(zhuǎn)換成實體,象下面這樣: <message>if salary &lt; 1000 then</message> 下面是五個在XML文檔中預(yù)定義好的實體:

&lt; < 小于號
&gt; > 大于號
&amp; & 和
&apos; ' 單引號
&quot; " 雙引號

實體必須以符號"&"開頭,以符號";"結(jié)尾。 注意: 只有"<" 字符和"&"字符對于XML來說是嚴(yán)格禁止使用的。剩下的都是合法的,為了減少出錯,使用實體是一個好習(xí)慣。-----------------------------------------------------

CDATA部件在CDATA內(nèi)部的所有內(nèi)容都會被解析器忽略。如果文本包含了很多的"<"字符和"&"字符——就象程序代碼一樣,那么最好把他們都放到CDATA部件中。一個 CDATA 部件以"<![CDATA[" 標(biāo)記開始,以"]]>"標(biāo)記結(jié)束: <script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </script> 在前面的例子中,所有在CDATA部件之間的文本都會被解析器忽略。 CDATA注意事項: CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。同樣要注意在字符串"]]>"之間沒有空格或者換行符

以上是數(shù)據(jù)中有&#039;<&#039;、&#039;&&#039;符號時,封裝的XML就無法解析怎么辦的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

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

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

AI