Как добавить xsi schemalocation в корневой c # объект XmlSerializer

Я использую XmlSerializer для создания объекта, представляющего файл XML, и теперь я хочу добавить расположение схемы в корневой элемент моего файла XML. Я могу добавить пространства имен, как показано ниже

        XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
        System.IO.FileStream fs = new FileStream(@"C:\test.xml", FileMode.Create);
        TextWriter writer = new StreamWriter(fs, new UTF8Encoding());

        XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
        ns.Add("xy","http://www.w3.org/2005/08/addressing");
        ns.Add("xlink","http://www.w3.org/1999/xlink");
        serializer.Serialize(writer, myObject, ns);

Но как мне добавитьxsi:schemalocation атрибут моего корневого элемента в моем коде c #. Пространство имен было добавлено с простымns.Add(), Я хотел бы избежать возни с xsd.exe сгенерированного класса C #. Или мне нужно отредактировать вручную сгенерированный класс C # и добавить некоторый атрибут в корневой элемент моего XML?

РЕДАКТИРОВАТЬ: Я видел примеры, где мне нужно редактировать мой C # вручную, но должен быть способ сделать это в коде! Если мы можем добавить пространства имен к нашему корневому элементу, почему бы неМожно ли добавить схемы размещения?

Ответы на вопрос(2)

Ваш ответ на вопрос