Tôi đã xml như dưới đây,XSLT biến đổi được ném lỗi
<?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"/>
<billing_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>
Tôi đang chuyển sang một định dạng xml trong C# sử dụng 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>
Tôi nhận được thông báo lỗi " Mã thông báo trong trạng thái Bắt đầu sẽ dẫn đến một tài liệu XML không hợp lệ. Đảm bảo rằng cài đặt ConformanceLevel được đặt thành ConformanceLevel.Fragment hoặc ConformanceLevel.Auto nếu bạn muốn viết một đoạn XML. " Tôi hiểu vấn đề là với các thuộc tính i: nil trong xml. Mặc dù tôi đã bao gồm không gian tên của chúng trong XSLT nhưng tôi vẫn gặp lỗi.