Я перезаписываю существующий XmlDocument, который содержит элемент, для которого определено новое пространство имен по умолчанию (см. Ниже, файл assemblyBinding)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<legacyCasPolicy enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
</assemblyBinding>
</runtime>
</configuration>
Мне нужно иметь возможность добавлять новые узлы в этот элемент assemblyBinding без повторной квалификации пространства имен (поскольку среда выполнения .net затем считает XML-файл недействительным при обработке результирующего файла как файла app.config).
Вот что я хочу:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<legacyCasPolicy enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Dependency" publicKeyToken="9f10d5ba1865867c"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
... элемент'pendentAssembly 'наследует пространство имен своего родителя.
После звонка
XmlDocument.CreateElement ( "dependentAssembly");
ИЛИ ЖЕ
XmlDocument.CreateElement ("independentAssembly", "urn: schemas-microsoft-com: asm.v1");
ИЛИ ЖЕ
XmlDocument.CreateElement ("asm", "зависимая сборка", "urn: schemas-microsoft-com: asm.v1");
Я продолжаю получать что-то вроде этого ...
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<legacyCasPolicy enabled="true" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<asm:dependentAssembly xmlns:asm="urn:schemas-microsoft-com:asm.v1">
<asm:assemblyIdentity name="Dependency" publicKeyToken="9f10d5ba1865867c" xmlns:asm="urn:schemas-microsoft-com:asm.v1"/>
</asm:dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
Что мне нужно сделать, чтобы получить то, что я хочу?