Я пытаюсь конвертировать xml из одного формата в другой, используя XslCompiledTransform в c #.Ниже приведена таблица стилей и исходный код xml:
string xslMarkup = @"<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-microsoft-com:xslt' exclude-result-prefixes='msxsl' version='1.0'>
<xsl:output method='xml' indent='yes'/>
<xsl:template match='/NewDataSet'>
<Root>
<xsl:apply-templates select='Violations'/>
</Root>
</xsl:template>
<xsl:template match='Violations'>
<detail ccr_id='{@ViolationID}'
assn_id=''
member_id=''
local_ccr_id=''
create_date=''
inspect_date=''
respond_date=''
last_inspect_date=''
status=''
active=''
type=''
description=''
type_desc=''
owner_action=''
acc_action=''
acc_action_date=''
last_acc_action=''
last_acc_action_date=''
ccr_name=''
location='' />
</xsl:template>
</xsl:stylesheet>";
XDocument xmlTree =
XDocument.Parse(@"<?xml version='1.0' encoding='utf-8'?>
<NewDataSet xmlns='www.reefpt.com/caliberapi'>
<Violations>
<ViolationID>66</ViolationID>
<ViolationNumber>201fgh4</ViolationNumber>
</Violations>
<Violations>
<ViolationID>66</ViolationID>
<ViolationNumber>2011fgh</ViolationNumber>
</Violations>
</NewDataSet>
");
При выполнении преобразования с использованием XslCompiledTransform я получаю следующее исключение: «Текст токена в состоянии Start приведет к недопустимому XML-документу. Убедитесь, чточто для параметра ConformanceLevel задано значение ConformanceLevel.Fragment или Conformanc eLevel.Auto, если вы хотите записать фрагмент XML. "Если я удаляю атрибут xmlns из корневого элемента, все работает нормально.Почему это происходит и как я могу это исправить?