我正在尝试将 xml 文档从一种格式转换为另一种格式,在执行此操作时,我发现我需要将多个 xmlns 声明插入到根元素中。
例子:
<?xml version="1.0" encoding="utf-8" ?>
<Template xmlns="http://tempuri.org/TemplateBase.xsd" xmlns:TYPES="http://tempuri.org/TemplateTypes.xsd ">
一些内容
<模板>
这一切的原因是我将 XSD 模式划分为多个 XSD,以便在这种情况下重用通用类型。
好吧,我现在想做的是用 XmlTextWriter 编写这个 xml,但我不能为 TYPES 编写 xmlns 属性。
到目前为止我尝试过的是:
XmlWriter xmlWriter = XmlWriter.Create(filename, settings);
xmlWriter.WriteStartElement("Template", "http://tempuri.org/TemplateBase.xsd");
xmlWriter.WriteAttributeString("xmlns", "TYPES", "http://tempuri.org/TemplateTypes.xsd", XmlSchema.InstanceNamespace);
当我执行此代码时,出现以下异常:
System.ArgumentException: Prefix "xmlns" is reserved for use by XML..
有没有人能治愈我目前的头痛?