在 JSP 中使用 XML 出現 "XML Parsing Error: XML or text declaration not at the start of entity"

光只放資料的話,Browser 可以正常的顯示出 xml 的樹

<%@ page contentType="text/xml"  pageEncoding="UTF-8"%>
<portfolio>
  <stock>
    <symbol>SUNW</symbol>
    <name>Sun Microsystems</name>
    <price>17.1</price>
  </stock>
</portfolio>

但是若加上標頭的話會出現,
"XML Parsing Error: XML or text declaration not at the start of entity",
原因就只是 <?xml version="1.0?> 前面不能有任何空白…

<%@ page contentType="text/xml"  pageEncoding="UTF-8"%>
<?xml version="1.0?>
<portfolio>
  <stock>
    <symbol>SUNW</symbol>
    <name>Sun Microsystems</name>
    <price>17.1</price>
  </stock>
</portfolio>

xml-parse-error-xml-declararion.png

所以,改放在最前面就行了。
另外,若 JSP 是使用 NetBean 產生的會自動加入一些註解在開頭,
這些註解也必須放在 <?xml version="1.0?> 後面

<?xml version="1.0" encoding="UTF-8"?>
 
<%-- 
    Document   : courseList.jsp
    Created on : 2011/1/5, 下午 04:41:28
    Author     : tfing
--%>
<%@ page contentType="text/xml"  pageEncoding="UTF-8"%>
<portfolio>
  <stock>
    <symbol>SUNW</symbol>
    <name>Sun Microsystems</name>
    <price>17.1</price>
  </stock>
</portfolio>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License