我看到这个异常消息来自xslcompiledtransform.Transform(),但在处理异常后,XSL转换似乎仍然成功.完整的异常消息是:
Token Text in state EndRootElement
would result in an invalid XML
document. Make sure that the
ConformanceLevel setting is set to
ConformanceLevel.Fragment or
ConformanceLevel.Auto if you want to
write an XML fragment.
样式表如下所示:
<xsl:stylesheet version="1.0" xmlns:ext="ext:extensions" xmlns:f="http://schemas.foo.com/FOAMSchema"> <xsl:template match="/Root/Documents/PO/DROPSHIP"> <Transactions> <Transaction> <f:partnerTransmission> <transmission_id> <xsl:value-of select="ext:NewGUID()"/> </transmission_id> <partner_code> <xsl:value-of select="/Root/@PartnerCode"/> </partner_code> <control_nbr> <xsl:value-of select="@GS_CNTRL_NUM"/> </control_nbr> <creationTime> <xsl:value-of select="ext:ConvertToStandardDateTime(@DATE,@TIME,'ISO8601Basic')"/> </creationTime> <direction>I</direction> <messageCount> <xsl:value-of select="count(ORDERS/ORDER)"/> </messageCount> <Syntax>XML</Syntax> <format>BARBAZ</format> <deliveryMethod>FTP</deliveryMethod> </f:partnerTransmission> </Transaction> </Transactions> </xsl:template> </xsl:stylesheet>
生成的XML如下所示:
<Transactions xmlns="http://schemas.foo.com/IntegrationProfile" xmlns:ext="ext:extensions"> <Transaction> <f:partnerTransmission xmlns:f="http://schemas.foo.com/FOAMSchema"> <transmission_id>a5e0ec76-6c24-426b-9eb5-aef9c45d913f</transmission_id> <partner_code>VN000033</partner_code> <control_nbr>650</control_nbr> <creationTime>9/27/2008 12:51:00 AM</creationTime> <direction>I</direction> <messageCount>2</messageCount> <Syntax>XML</Syntax> <format>BARBAZ</format> <deliveryMethod>FTP</deliveryMethod> </f:partnerTransmission> </Transaction> </Transactions>
以上是我捕获并忽略异常时获得的内容.
我一直无法找到设置ConformanceLevel的方法(属性是只读的),但同时我也不认为这里应该存在问题.
我的输出是否构成XML片段?我在样式表中遗漏了什么吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。