Expected tag name.Got '?' instead.(HTML doesn't support processing instructions.)

在用api調試工具postman時,返回的xml數據報錯:
Expected tag name.Got ‘?’ instead.(HTML doesn’t support processing instructions.)
如圖:
這裏寫圖片描述
<?xml version="1.0"?>這xml第一行有什麼錯誤呢?
錯誤的字面意思是:預期的標籤名。用問號代替。(html不支持處理指令。)
先來熟悉XML的組成:
l 一個XML文件分爲如下幾部分內容:

• 文檔聲明

• 元素

• 屬性

• 註釋

• CDATA區 、特殊字符

• 處理指令(processing instruction)

XML語法-文檔聲明

l 在編寫XML文檔時,需要先使用文檔聲明,聲明XML文檔的類型。

l 最簡單的聲明語法:

   <?xmlversion="1.0" ?>

l 用encoding屬性說明文檔的字符編碼:

   <?xmlversion="1.0" encoding="GB2312" ?> 

l 用standalone屬性說明文檔是否獨立:

   <?xmlversion="1.0" encoding="GB2312"  standalone="yes" ?>

其他的都不再贅述了,一般都知道。本錯誤的關鍵詞就是處理指令
處理指令,簡稱PI (processing instruction)。處理指令用來指揮解析引擎如何解析XML文檔內容。
例如,在XML文檔中可以使用xml-stylesheet指令,通知XML解析引擎,應用css文件顯示xml文檔內容。

<?xml version="1.0"?>

發生錯誤,提示html不支持處理指令,那就對了,這個服務端api接口返回的文檔是xml格式的數據,並不是html格式的,那麼在用postman解析Body的時候,就要選擇解析格式爲XML。如圖:
這裏寫圖片描述
選擇XML後就沒有錯誤了。xml當然能夠解析xml的處理指令即第一行的標籤前後帶問號的文檔聲明。

發佈了54 篇原創文章 · 獲贊 143 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章