【问题标题】:xml parsing error at line x. Extra content at the end of the document第 x 行的 xml 解析错误。文档末尾的额外内容
【发布时间】:2021-02-07 23:38:06
【问题描述】:

真的很挣扎。我刚刚复制了一个现有的(并且正在工作!)xslt 并更改了内容,所以不知道为什么我不断收到消息“第 x 行的 xml 解析错误。文档末尾的额外内容”。我所有的打开/关闭标签看起来都是正确的,我有一个根。 我试图删除最后一个标签,但随后该消息与较早的 / 一起出现。我已经尝试添加其他结束标签,但都无济于事......请帮忙!

<?xml version='1.0'?> 
<xsl:stylesheet version="2.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:wd="urn:com.abcdefg.report/CR_123_Demographics"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xtt="urn:com.abcdefg/xtt">

    <xsl:output method="xml" indent="yes">

        <xsl:template match="/">
            <File  xtt:separator="&#xd;&#xa;"  xtt:severity="warning" xtt:charConversion="true">
                <Header xtt:separator=",">
                    <HeaderItem>10017</HeaderItem>
                    <Processingdate xtt:fixedLength="8" xtt:align = "left">
                        <xsl:value-of select="format-date(current-date(),'[Y0001][M01][D01]')"/>
                    </Processingdate>
                </Header>

                <xsl:for-each select="/wd:Report_Data/wd:Report_Entry">
                    <Record xtt:separator=",">
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Employee_ID"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Language_Code"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:First_Name"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Last_Name"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Address_1"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Address_2"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:City"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Secondary_Country"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Waiver_Flag"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Work_Phone_Area_Code"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Work_Landline"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Item_Value4"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Item_ID5"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Item_Value5"/>
                        <xtt:required="true" xtt:severity="warning"><xsl:value-of select="wd:Primary_Bank"/>
                        </xtt:required="true">
                    </Record>
                </xsl:for-each>
            </File>
        </xsl:template>
    </xsl:output>
</xsl:stylesheet>   

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    你有一整串表单的开始标签

     <xtt:required="true" xtt:severity="warning">
    

    没有匹配的结束标签。

    将文档粘贴到 Oxygen 等 XML 编辑器中可以立即解决问题。

    我同意这不是一个非常令人印象深刻的错误消息。

    【讨论】:

    • 它们甚至不是格式良好的开始标签。
    • 你好。我意识到我错过了包装,所以我更新了所有行以包含开始和结束标签:
    • 如果问题解决了,请勾选复选标记将答案标记为已接受。
    【解决方案2】:

    您的 xslt 未格式化。我认为您正在为 Workday 集成使用文档转换。我重新编写了你的​​代码并粘贴在下面

    <?xml version='1.0'?> 
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:wd="urn:com.abcdefg.report/CR_123_Demographics"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xtt="urn:com.abcdefg/xtt">
    
    <xsl:output method="xml" indent="yes"/>
    
     <xsl:template match="/">
      <File xtt:separator="&#xd;&#xa;" xtt:severity="warning" xtt:charConversion="true">
                <Header xtt:separator=",">
                    <HeaderItem>10017</HeaderItem>
                    <Processingdate xtt:fixedLength="8" xtt:align="left">
                        <xsl:value-of select="format-date(current-date(), '[Y0001][M01][D01]')"/>
                    </Processingdate>
                </Header>
    
                <xsl:for-each select="/wd:Report_Data/wd:Report_Entry">
                    <Record xtt:separator=",">
    
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Employee_ID"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Language_Code"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:First_Name"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Last_Name"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Address_1"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Address_2"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:City"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Secondary_Country"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Waiver_Flag"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Work_Phone_Area_Code"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Work_Landline"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Item_Value4"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Item_ID5"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Item_Value5"/>
                        </item>
                        <item xtt:required="true" xtt:severity="warning">
                            <xsl:value-of select="wd:Primary_Bank"/>
                        </item>
    
                    </Record>
                </xsl:for-each>
            </File>
        </xsl:template>
    
    </xsl:stylesheet>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多