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 に分割したためです。
さて、私が今やりたいことは、この xml を XmlTextWriter で書くことですが、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..
今の頭痛が治る方いますか?