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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章