首頁 後端開發 XML/RSS教程 XML入門的常見問題(三)

XML入門的常見問題(三)

Dec 22, 2016 pm 05:38 PM
xml

如何載入有外國和特殊字元的文檔?

  文件可以包含外國字符,例如:


   foreign characters (úóí?) 


  例如 磲 的外國字符序列。外國字元可以是 UTF-8 編碼或用不同編碼指定,如下所示:


   foreign characters (磲) 


  現在可以正確載入了。

  其他字元是保留在 XML 中的,並且需要以不同的方式處理。以下的 XML:


   This & that
  產生以下錯誤:
  此處不允許有空格。
  行0000001: This & that
  位置  0000012: ----------^


  位置  0000012: ----------^


  位置。您需要替換稱為“實體”的特殊字元序列。

  This & that
  下面的字符需要對應的實體:


    『& & 引號字元被用作標記中屬性值的定界符,因此通常不能在屬性值的內部使用。例如,下面的內容將傳回錯誤:

  此處的單引號既用作屬性定界符,又在屬性值本身。為了修正這個問題,可以將屬性定界符換成雙引號:

  或可以將單引號轉義為實體 '

  上述兩種方式都會透過 XML 物件模型中的 getAttribute 方法傳回屬性值 John's Stuff。同樣,對於雙引號,您可以使用實體

  "。

  也可以透過將文字放在CDATA 節中來處理元素內容中的特殊字元。下面的內容是正確的:


  在本範例模型中,XML 物件模型將CDATA 節點顯示xml 節點的子節點,它將返回字符串

  This & that  is just "text" content.

  作為nodeValue。

  如何在Visual Studio 6.0 C++ 中使用MSXML COM 組件?

  在Visual C++ 6.0 中使用MSXML COM 元件最簡單的方式是使用#import 指令:

  #import "msxml.dll" named_guids no_namespace#import "msxml.dll" named_guids no_namespace

 IX 可以定義了所有介面*的介面並定義它在應用程式中使用它們了。 :


   Copyright ? 2000, Microsoft Inc, All rights reserved.

  它產生下列錯誤:

碼: xC00CE002
  Copyright ?2000, ...

  ----------------------^


  這是因為XML 只有五個內建實體。請參閱如何載入有外國和特殊字元的文件?包括在DOCTYPE 標記中,如下所示:



   Copyright ? 2000, Microsoft Inc, All rights reserved.

 

  頁要載入它,需要將它貼上並貼上測試到下載的屬性。 」中,關閉DTD 驗證,然後按一下「驗證」。請注意文件將加載,並且版權字元將顯示在validator 頁面的末尾的DOM 樹中。

  如果已經完成了DTD 驗證,那麼必須將作為參數實體的HTML 實體包括在現有的DTD 中,如下所示:

   %HTMLENT;
 〜%HTMLENT〜%HTMLENT]% 將它定義為一切以便在XML 文件中使用它們。

  在元素內容中如何處理空白字元?

  XML DOM 有三種存取元素文字內容的方式:

  屬性 行為

  nodeValue 按照原始的 XML 來源中指定的那樣,傳回 TEXT、CDATA、COMMENT 和 PI 節點上的原始文字內容(包括空白字元)。對於 ELEMENT 節點和 DOCUMENT 本身,則傳回空值。

  資料 與 nodeValue 相同

  文字 重複連接指定子樹中的多個 TEXT 和 CDATA 節點並傳回組合結果。

  注意: 空白字元包括新行、tab 和空格。

  nodeValue 屬性通常傳回原始文件中的內容,與文件如何載入和目前 xml:space 範圍無關。

  文字屬性連接指定子樹中的所有文字並擴展實體。這與文件如何載入、PReserveWhiteSpace 開關的目前狀態和目前 xml:space 範圍有關,請看如下所示:

  preserveWhiteSpace = true when the document is loaded 

preserveWhiteSpace=true    preserveWhiteSpace=true    preserveWhiteSpace=false  preserveWhite Space :space=default    xml:space=preserve    xml:space=default    

保留   保留確保=false    

xml:space=preserve    xml:space=default    xml:space=preserve    xml :space=default    

半保留   半保留並截斷   半保留   半保留並截斷   


 在內的保留表示半保留意味著保留了“重要的空白字元”並規範化了“不重要的空白字元”。重要的空白字元是文字內容內部的空白字元。不重要的空白字符是標記之間的空白字符,請看如下所示:

   n

  t    Janen

  tSmith     n

  tSmith     n

重要的空白字符,因為它是文字內容的一部分,因此有不可忽略的重要含義。所以在本例中,文字屬性回傳下列結果:

  狀態回傳值 

  保留"nt    JanentSmith    n"

     "

  
  半保留並截斷"Jane Smith"

  請注意「半保留」將規範化不重要的空白字符,例如,新行和tab 字符將退化為單一空格。如果變更 xml:space 屬性和 preserveWhiteSpace 開關,那麼文字屬性將會傳回對應的不同值。


  CDATA and xml:space="preserve" subtree boundaries 

  在下面的例子中,CDATA 節點或「保留」節點的內容將連接,原因是它們不參與不重要的空白字元化。例如:



   n
  t Jane n
  t     Smith     ]>n


     ]>n

   下因此「半保留並截斷」情況將回到下列內容:


  "Jane      Smith     "

  在此,且與 標記之間的不重要的空白字元將包括在內,與 CDATA 節點的內容無關。如果以下列內容取代 CDATA,那麼將傳回相同結果:

  Smith     
  實體是特殊的

  實體是作為 DTD 的一部分載入和分析的,並且顯示在 DOCTYPE 節點下。它們不一定要有任何 xml:space 範圍。例如:

   Jane n

  tn

  ">

  ]>

  &Jane]

字符不將其標記在空間範圍內。有空白字元節點。 TEXT>:Software Design Engineer

  ELEMENT: foo

  ATTRIBUTE: xml:space ="preserve"

  ENTITYREF: Jane


  請注意,在DOCTYPE 內部ENTITY 節點下顯露的DOM 樹不包含任何WHITESPACE 節點。 ="preserve" 的範圍內也是如此。 :space 屬性,或文件preserveWhiteSpace 開關必須設為true。
  有幾種方式可以處理屬性中的空白字元?

  有幾種方式可以存取屬性值。 text 屬性。

  attrNode.value
  getAttribute("name") 傳回和原始文件中完全相同的內容(和擴充的實體)。 
  attrNode.nodeTypedValue Null 
  attrNode.text 除了前導和尾部的空白字元已經截斷之外,其他與 nodeValue 相同。

  「XML 語言」規範為XML 應用程式定義了下列行為: 屬性型別傳回的文字 

  CDATA ID、IDREF、IDREFS、ENTITY、ENTITIES、NOTATION、枚舉規範在半數化規格代表將新行和tab 字元轉換為空格,但多個空格不會退化為一個空格。

 以上就是XML入門的常見問題(三)的內容,更多相關內容請關注PHP中文網(www.php.cn)!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

能否用PowerPoint開啟XML文件 能否用PowerPoint開啟XML文件 Feb 19, 2024 pm 09:06 PM

XML檔可以用PPT開啟嗎? XML,即可擴展標記語言(ExtensibleMarkupLanguage),是一種廣泛應用於資料交換和資料儲存的通用標記語言。與HTML相比,XML更加靈活,能夠定義自己的標籤和資料結構,使得資料的儲存和交換更加方便和統一。而PPT,即PowerPoint,是微軟公司開發的一種用於創建簡報的軟體。它提供了圖文並茂的方

使用Python實現XML資料的合併與去重 使用Python實現XML資料的合併與去重 Aug 07, 2023 am 11:33 AM

使用Python實現XML資料的合併和去重XML(eXtensibleMarkupLanguage)是一種用於儲存和傳輸資料的標記語言。在處理XML資料時,有時候我們需要將多個XML檔案合併成一個,或移除重複的資料。本文將介紹如何使用Python實現XML資料的合併和去重的方法,並給出對應的程式碼範例。一、XML資料合併當我們有多個XML文件,需要將其合

使用Python實現XML資料的篩選和排序 使用Python實現XML資料的篩選和排序 Aug 07, 2023 pm 04:17 PM

使用Python實現XML資料的篩選和排序引言:XML是一種常用的資料交換格式,它以標籤和屬性的形式儲存資料。在處理XML資料時,我們經常需要對資料進行篩選和排序。 Python提供了許多有用的工具和函式庫來處理XML數據,本文將介紹如何使用Python實現XML資料的篩選和排序。讀取XML檔案在開始之前,我們需要先讀取XML檔案。 Python有許多XML處理函式庫,

Python中的XML資料轉換為CSV格式 Python中的XML資料轉換為CSV格式 Aug 11, 2023 pm 07:41 PM

Python中的XML資料轉換為CSV格式XML(ExtensibleMarkupLanguage)是一種可擴充標記語言,常用於資料的儲存與傳輸。而CSV(CommaSeparatedValues)則是一種以逗號分隔的文字檔案格式,常用於資料的匯入和匯出。在處理資料時,有時需要將XML資料轉換為CSV格式以便於分析和處理。 Python作為一種功能強大

使用PHP將XML資料匯入資料庫 使用PHP將XML資料匯入資料庫 Aug 07, 2023 am 09:58 AM

使用PHP將XML資料匯入資料庫引言:在開發中,我們經常需要將外部資料匯入到資料庫中進行進一步的處理和分析。而XML作為一種常用的資料交換格式,也常被用來儲存和傳輸結構化資料。本文將介紹如何使用PHP將XML資料匯入資料庫。步驟一:解析XML文件首先,我們需要解析XML文件,擷取所需的資料。 PHP提供了幾種解析XML的方式,其中最常用的是使用Simple

Python實作XML與JSON之間的轉換 Python實作XML與JSON之間的轉換 Aug 07, 2023 pm 07:10 PM

Python實作XML與JSON之間的轉換導語:在日常的開發過程中,我們常常需要將資料在不同的格式之間轉換。 XML和JSON是常見的資料交換格式,在Python中,我們可以使用各種函式庫來實作XML和JSON之間的相互轉換。本文將介紹幾種常用的方法,並附帶程式碼範例。一、XML轉JSON在Python中,我們可以使用xml.etree.ElementTree模

使用Python處理XML中的錯誤和異常 使用Python處理XML中的錯誤和異常 Aug 08, 2023 pm 12:25 PM

使用Python處理XML中的錯誤和異常XML是一種常用的資料格式,用於儲存和表示結構化的資料。當我們使用Python處理XML時,有時可能會遇到一些錯誤和異常。在本篇文章中,我將介紹如何使用Python來處理XML中的錯誤和異常,並提供一些範例程式碼供參考。使用try-except語句捕捉XML解析錯誤當我們使用Python解析XML時,有時候可能會遇到一些

Python解析XML中的特殊字元和轉義序列 Python解析XML中的特殊字元和轉義序列 Aug 08, 2023 pm 12:46 PM

Python解析XML中的特殊字元和轉義序列XML(eXtensibleMarkupLanguage)是一種常用的資料交換格式,用於在不同系統之間傳輸和儲存資料。在處理XML檔案時,經常會遇到包含特殊字元和轉義序列的情況,這可能會導致解析錯誤或誤解資料。因此,在使用Python解析XML檔案時,我們需要了解如何處理這些特殊字元和轉義序列。一、特殊字元和

See all articles