xml特殊符號(hào) 反序列化失敗,xml中有特殊字符,這種情況怎么處理?
反序列化失敗,xml中有特殊字符,這種情況怎么處理?序列化和反序列化并不是C獨(dú)有的,包括Java、PHP、JS等。序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可維護(hù)或傳輸?shù)母袷降倪^程,如二進(jìn)制、XML、JSON等。序列化
反序列化失敗,xml中有特殊字符,這種情況怎么處理?
序列化和反序列化并不是C獨(dú)有的,包括Java、PHP、JS等。序列化是將對(duì)象狀態(tài)轉(zhuǎn)換為可維護(hù)或傳輸?shù)母袷降倪^程,如二進(jìn)制、XML、JSON等。序列化的反面是反序列化,它將流轉(zhuǎn)換為對(duì)象,即,將序列化過程中生成的二進(jìn)制字符串、XML、JSON轉(zhuǎn)換為數(shù)據(jù)結(jié)構(gòu)或?qū)ο蟮倪^程。這兩個(gè)過程可以結(jié)合起來方便地存儲(chǔ)和傳輸數(shù)據(jù)。
如何轉(zhuǎn)義xml中的特殊字符?
XML實(shí)體中不允許使用特殊字符,如“&”、“<”、“>”,否則將在XML語法檢查中出錯(cuò)。如果XML文件必須包含這些字符,則必須將它們分別寫入“&”、“<”、“>”,然后寫入文件。例如,如果在XML文檔中使用像“<”這樣的字符,解析器將得到一個(gè)錯(cuò)誤,因?yàn)樗鼤?huì)認(rèn)為這是新元素的開始。因此,代碼不應(yīng)按以下方式編寫:[HTML]viewplain copy<>;age>;LT30</age>;為了避免這種情況,必須將字符“<”轉(zhuǎn)換為實(shí)體,例如:<>;讀取時(shí),解析器將自動(dòng)將其轉(zhuǎn)換回特殊字符,如“&”,“<”、“>”,通常只有“<”字符,XML中嚴(yán)禁使用“>”&Amp”字符。需要注意的是:A.轉(zhuǎn)義序列中的字符之間不應(yīng)存在空格;B.轉(zhuǎn)義序列必須以“;”結(jié)尾;C.單獨(dú)的&不被視為轉(zhuǎn)義的開始;D.區(qū)分大小寫。XML中需要以下轉(zhuǎn)義字符:&(邏輯與)&<(小于)<>(大于)>(雙引號(hào))(單引號(hào))”