如何解決問題:確保文件根元素後的標記格式正確
P粉590428357
P粉590428357 2023-08-21 22:01:26
0
2
478
<p>我把我的程式碼放在XML驗證網站上,它給了我這個錯誤:</p> <blockquote> <p>第8行:4 根元素後的文檔標記必須是格式良好的。 </p> </blockquote> <p>出現問題的行是<code><xsl:output method = "html" doctype-system = "about:legacy-compat"/></code>。 </p> <h2>XML</h2> <pre class="brush:php;toolbar:false;"><?xml version="1.0"?> <!-- Fig. 15.21: sorting.xsl --> <xsl:stylesheet version = "1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/> <!-- 寫入XML聲明與DOCTYPE DTD資訊 --> *<xsl:output method = "html" doctype-system = "about:legacy-compat" />* <!-- 符合文檔根元素 --> <xsl:template match="/"> -<html> <xsl:apply-templates/> </html> </xsl:template></pre> <p><br /></p>
P粉590428357
P粉590428357

全部回覆(2)
P粉761718546

這也可能是因為此文件中的空格錯誤而出現的

P粉186904731

通用情況

此錯誤表示您的XML在根元素後面有標記。為了符合格式良好的要求,XML必須有僅有一個根元素,且在單一根元素之後不能有其他標記。

一個根元素範例(正確)

<r>
  <a/>
  <b/>
  <c/>
</r>

此錯誤最常見的原因是:

  1. 包含多餘的閉合標籤(錯誤):

    <r>
      <a/>
      <b/>
      <c/>
    </r>
    </r>  <!-- 不应该出现在这里 -->
  2. 有意地擁有多個根元素(錯誤):

    #
    <a/>
    <b/>  <!-- 第二个根元素不应该出现在这里 -->
    <c/>  <!-- 第三个根元素不应该出现在这里 -->
  3. 無意間擁有多個根元素(錯誤):

    #
    <r/>  <!-- 不应该是自闭合的 -->
      <a/>
      <b/>
      <c/>
    </r>
  4. 解析的XML與您認為的不同(錯誤):

    在提供給解析器之前,請立即記錄XML以確保解析器看到的XML與您認為的XML相同。這裡常見的錯誤包括:

    • 傳遞給解析器的XML文件的檔案名稱與您認為的不同。
    • XML緩衝區是髒的。確保在新增XML之前已清除。
    • 在管道中先前階段的程式在解析之前更改了XML,導致出現此錯誤訊息。

您的特定問題

在您的特定情況中,您的XML似乎有多個根元素,因為xsl:stylesheet元素過早關閉(上述情況#3)。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/>

更改為

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

以解決您的即時問題,並新增一個閉合標籤

</xsl:stylesheet>

如果您的實際文件中還不存在。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!