程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 如何對xml文件進行編輯

如何對xml文件進行編輯

編輯:更多關於編程

     XML文檔可以包含外文字符比如挪威語或者法語(中文當然也可以!這一部分還是不能照原文翻譯,下面有些內容是我自己寫的)

    為了讓你的解析器能夠明白這些字符,你必須在XML文檔中統一的字符編碼標准。

    --------------------------------------------------------------------------------

    Windows 95/98 記事本
    Windows 95/98 記事本不能以Unicode的編碼格式保存文件。

    可以使用記事本來編輯和保存包含了外文字符的XML文檔 (比如:挪威語或者法語或者中文)

    <?xml version="1.0"?>
    <note>
    <from>小奀</from>
    <to>小林</to>
    <message>晚上一起去火鍋呀</message>
    </note>

    但是如果你用浏覽器打開這個用記事本編輯過的XML文檔,將會出現一個錯誤。

    --------------------------------------------------------------------------------

    在Windows 95/98 記事本中使用編碼
    Windows 95/98 記事本編輯XML文件必須進行編碼屬性設置。

    為了避免發生錯誤,可以在XML文檔聲明中加上一個encoding屬性,指明此XML文檔的編碼類型,但是不要使用Unicode編碼。

    下面的編碼類型不會導致錯誤,, 並且漢字顯示正常:

    <?xml version="1.0" encoding="gb2312"?>

    下面的編碼類型不會導致錯誤,, 並且漢字顯示正常:

    <?xml version="1.0" encoding="gbk"?>

    下面的編碼類型不會導致錯誤,, 並且漢字顯示不正常(亂碼):

    <?xml version="1.0" encoding="windows-1252"?>

    下面的編碼類型不會導致錯誤,, 並且漢字顯示不正常(亂碼):

    <?xml version="1.0" encoding="ISO-8859-1"?>

    下面的編碼類型不會導致錯誤,,並且漢字顯示正常:

    <?xml version="1.0" encoding="UTF-8"?>

    下面的編碼類型會導致錯誤,:

    <?xml version="1.0" encoding="UTF-16"?>

    --------------------------------------------------------------------------------

    使用Windows 2000 記事本
    Windows 2000 記事本可以以Unicode編碼格式保存文件。

    Windows 2000 的記事本支持Unicode字符集。如果使用Win2000的記事本以Unicode的編碼格式保存XML文檔(請注意這裡在XML聲明中沒有編碼信息):

    <?xml version="1.0"?>
    <note><from>小奀</from><to>小林</to><message>晚上一起去火鍋呀</message></note>
    --------------------------------------------------------------------------------

    Windows 2000 記事本編碼
    Windows 2000記事本還可以以"UTF-16"編碼格式保存文件。

    如果你在XML文檔中聲明了編碼屬性而又以Unicode編碼格式保存文件,將可能發生錯誤。

    下面的代碼將會導致錯誤:

    <?xml version="1.0" encoding="windows-1252"?>

    下面的代碼將會導致錯誤:

    <?xml version="1.0" encoding="ISO-8859-1"?>

    下面的代碼將會導致錯誤:

    <?xml version="1.0" encoding="UTF-8"?>

    下面這個文件; note_encode_utf16_u.xml, 將會在IE5.0+中顯示正常,在網景Netscape 6.2浏覽器中將會出現錯誤。

    <?xml version="1.0" encoding="UTF-16"?>

    --------------------------------------------------------------------------------

    錯誤信息
    當時用IE5.0或者更高版本浏覽XML文檔時,可能會遇到兩中不同的編碼錯誤:

    在文本內容中發現一個非法字符(An invalid character was found in text content)。

    如果你的XML文檔和你的XML文檔的編碼格式不匹配就可能導致錯誤發生。通常情況是,XML文檔包含一些“非英文”字符,並且使用了單字節編碼的編輯器,而且沒有在XML文檔的聲明中設置XML文檔的編碼格式。

    不支持從當前的編碼格式轉換成另一種編碼格式(Switch from current encoding to specified encoding not supported)。

    如果XML文檔以Unicode/UTF-16編碼格式保存,但是XML文檔的聲明中卻設置了編碼格式是一些單字節的編碼(比如 Windows-1252, ISO-8859-1 或者  UTF-8);或者XML文檔以單字節編碼格式保存,但是XML文檔的聲明中卻設置了編碼格式是一些Unicode/UTF-16的編碼形式,這樣兩種情況都會導致錯誤發生。

    --------------------------------------------------------------------------------

    結論
    結論:在保存XML文檔之前在XML文檔的聲明中設置文檔的編碼格式,我的一些關於避免錯誤發生的建議:

    使用一種支持Unicode編碼格式的編輯器。
    確信你知道自己正在使用那種編碼格式。
    在XML文檔中使用屬性聲明設置編碼格式。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved