Нам был предоставлен образец документа и он должен иметь возможность воспроизводить структуру документа именно для поставщика. Тем не менее, я немного потерял, как С# обрабатывает пространства имен. Здесь образец документа:
<?xml version="1.0" encoding="UTF-8"?>
<Doc1 xmlns="http://www.sample.com/file" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sample.com/file/long/path.xsd">
<header>
<stuff>data</stuff>
<morestuff>data</morestuff>
</header>
</Doc1>
Как бы я обычно делал это, нужно загрузить пустой документ и начать его заполнение:
XmlDocument doc = new XmlDocument();
doc.LoadXml("<Doc1></Doc1>");
// Add nodes here with insert, etc...
Как только я запустил документ, как мне получить пространство имен и схему в элемент Doc1? Если я начну с пространства имен и схемы в элементе Doc1, включив их в LoadXml(), тогда все дочерние элементы будут иметь пространство имен на них - и это будет no-no. Документ отклонен.
Итак, другими словами, я должен произвести его ТОЧНО, как показано. (И я бы предпочел не просто писать текст в файл на С# и надеяться, что он будет действительным XML).