开发者

XSLT transforming is throwing error

I've xml as below,

<?xml version="1.0" encoding="utf-16" ?> 
 <AllResidentAndUnitInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" 
 i:type="ResidentsByUnitInfo" xmlns="http://schemas.datacontract.org/2004/07/FSRSchema">
    <BillingAddresses>
      <BillingAddress>
        <billing_address1>Some address</billing_address1> 
        <billing_address2 /> 
        <billing_city>Gilbert</billing_city> 
        <billing_country i:nil="true"/> 
        <billin开发者_如何学Cg_dtmmodified>2010-12-08T01:37:41+05:30</billing_dtmmodified> 
        <billing_state>AZ</billing_state> 
        <billing_zipcode>23233</billing_zipcode>            
      </BillingAddress>
      <BillingAddress>
       <ResidentsByUnitInfoPropertyUnitBillingAddress>
        <billing_address1>Some address</billing_address1> 
        <billing_address2 /> 
        <billing_city>Gilbert</billing_city> 
        <billing_country i:nil="true"/> 
        <billing_dtmmodified>2010-12-08T01:37:41+05:30</billing_dtmmodified> 
        <billing_state>AZ</billing_state> 
        <billing_zipcode>23233</billing_zipcode> 
       </ResidentsByUnitInfoPropertyUnitBillingAddress>
      </BillingAddress>
      ....

</AllResidentAndUnitInfo>

I'm transforming into another xml format in C# using the XslCompiledTransform,

<?xml version='1.0' ?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
   xmlns:msxsl='urn:schemas-microsoft-com:xslt'
   xmlns:i='http://www.w3.org/2001/XMLSchema-instance' exclude-result-prefixes='msxsl  
   i' version='1.0'>
<xsl:output method='xml' indent='yes'/>
<xsl:template match='/AllResidentAndUnitInfo/BillingAddresses/BillingAddress'>
    <Root>
      <Address1>..</Address2>   
              ...
    </Root>
</xsl:template>
  </xsl:stylesheet>

I'm getting the error "Token Text in state Start 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." I understood the problem is with the i:nil attributes in the xml. Eventhough I included the namespace of them in XSLT still i'm getting the error.


I'm getting the error "Token Text in state Start 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." I understood the problem is with the i:nil attributes in the xml. Eventhough I included the namespace of them in XSLT still i'm getting the error.

No. The problem is that the result isn't a well-formed XML document and thus the XmlWriter, involved in producing the final serialization of the result tree to text, raises this exception.

Really, in your result you have two Root elements and none of them has a parent element.

You need to produce a well-formed document, or change the ConformanceLevel setting for the XmlWriter to ConformanceLevel.Fragment or ConformanceLevel.Auto.

To create a wellformed output, just add:

<xsl:template match="/">
 <top>
   <xsl:apply-templates/>
 </top>
</xsl:template>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜