我正在尝试从 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);
1 回答
- 1 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消