Я пытаюсь загрузить структуры из XML-файла, чтобы я мог восстановить его где-нибудь еще.Большинство частей уже проанализированы и загружены в объекты.Но некоторые части бесполезны и не меняются, поэтому я решил взять эти узлы в их Иерархии, взять Узел и его потомков и оставить их в виде строки.
Позже я смогу создать XmlElement или XmlFragment из этой строки и снова присоединить его к создаваемому мной xml-файлу.
Пока что с загрузочной частью все в порядке.Я могу скопировать выбранную часть и держать его как XmlNode.Но для повторного подключения я должен преобразовать его в элемент xmlElement, и именно здесь CustomXmlNamespaces все разрушает.Пространства имен загружаются в полный XML-документ, но когда я беру фрагмент файла, он, очевидно, не содержит пространств имен.
Когда я хочу загрузить строку фрагмента, он запрашивает у меня
System.Xml.XmlException: '' mxswa 'является необъявленным префиксом.Строка 1, позиция 2. '
Итак, строка xml выглядит так:
<mxswa:Workflow.Variables>
<Variable x:TypeArguments="scg:Dictionary(x:String, mcw:InteractionActivityResult)" Default="[New Dictionary(Of System.String, Microsoft.Crm.Workflow.InteractionActivityResult)]" Name="InteractionResponses" />
<Variable x:TypeArguments="scg:Dictionary(x:String, mxs:EntityCollection)" Default="[New Dictionary(Of System.String, Microsoft.Xrm.Sdk.EntityCollection)]" Name="QueryResults" />
</mxswa:Workflow.Variables>
И код загрузки такой:
XmlDocumentFragment fragment = doc.CreateDocumentFragment();
fragment.InnerXml = xmlString;
arguments.AppendChild(fragment);