찾다

 >  Q&A  >  본문

문제 해결 방법: 문서 루트 요소 뒤의 마크업이 올바른 형식인지 확인하세요.

<p>XML 유효성 검사 웹사이트에 코드를 올렸더니 다음 오류가 발생했습니다. </p> <인용문> <p>8행: 4 루트 요소 뒤의 문서 마크업은 올바른 형식이어야 합니다. </p> </인용문> <p>문제가 있는 줄은 <code><xsl:output method = "html" doctype-system = "about:legacy-compat"/></code>입니다. </p>

XML

<pre class="brush:php;toolbar:false;"><?xml version="1.0"?> <!-- 그림 15.21: sorting.xsl --> <xsl:스타일시트 버전 = "1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/> <!-- XML ​​선언 및 DOCTYPE DTD 정보 작성 --> *<xsl:출력 방법 = "html" doctype-system = "about:legacy-compat" />* <!-- 문서 루트 요소 일치 --> <xsl:template match="/"> -<html> <xsl:apply-templates/> </xsl:템플릿></pre> <p><br /></p>
P粉590428357P粉590428357523일 전626

모든 응답(2)나는 대답할 것이다

  • P粉761718546

    P粉7617185462023-08-22 16:50:01

    이 파일의 공백이 잘못되었기 때문에 이런 일이 발생할 수도 있습니다

    회신하다
    0
  • P粉186904731

    P粉1869047312023-08-22 13:13:03

    일반 조건

    이 오류는 XML의 루트 요소 뒤에 태그가 있음을 의미합니다. 잘 구성된 요구 사항을 준수하려면 XML에는 단 하나의 루트 요소가 있어야 하며 단일 루트 요소 뒤에는 다른 태그가 없어야 합니다.

    루트 요소의 예(올바른)

    으아악

    이 오류의 가장 일반적인 원인은 다음과 같습니다.

    1. 에 중복된 닫는 태그가 포함되어 있습니다(오류):

      <r>
        <a/>
        <b/>
        <c/>
      </r>
    2. 의도적으로 여러 루트 요소를 갖는 경우(버그):

      <r>
        <a/>
        <b/>
        <c/>
      </r>
      </r>  <!-- 不应该出现在这里 -->
    3. 실수로 루트 요소가 여러 개 있는 경우(버그):

      <a/>
      <b/>  <!-- 第二个根元素不应该出现在这里 -->
      <c/>  <!-- 第三个根元素不应该出现在这里 -->
    4. 파싱된 XML이 생각과 다릅니다(잘못):

      파서에 XML을 제공하기 직전에 XML을 기록하여 파서가 보는 XML이 사용자가 생각하는 XML과 동일한지 확인하세요. 여기서 흔히 저지르는 실수는 다음과 같습니다:

      • 파서에 전달된 XML 문서의 파일 이름이 생각한 것과 다릅니다.
      • XML 버퍼가 더러워졌습니다. XML을 추가하기 전에 지워졌는지 확인하세요.
      • 파이프라인의 이전 단계에 있는 프로그램이 구문 분석되기 전에 XML을 변경하여 이 오류 메시지를 발생시켰습니다.

    귀하의 구체적인 질문

    특정 사례에서는 xsl:stylesheet 요소가 조기에 닫혀 있기 때문에(위의 상황 #3) XML에 루트 요소가 여러 개 있는 것으로 보입니다.

    으아악

    로 변경되었습니다. 으아악

    즉각적인 문제를 해결하고 닫는 태그를 추가하려면

    으아악

    실제 문서에 아직 존재하지 않는 경우.

    회신하다
    0
  • 취소회신하다