Длинный вопрос - пожалуйста, потерпите меня!
Я хочу программно создать XML-документ с пространствами имен и схемами. Что-то вроде
<myroot
xmlns="http://www.someurl.com/ns/myroot"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd">
<sometag>somecontent</sometag>
</myroot>
Я использую довольно великолепный новый материал LINQ (что для меня ново), и надеялся сделать вышеизложенное с помощью XElement.
У меня есть метод ToXElement () для моего объекта:
public XElement ToXElement()
{
XNamespace xnsp = "http://www.someurl.com/ns/myroot";
XElement xe = new XElement(
xnsp + "myroot",
new XElement(xnsp + "sometag", "somecontent")
);
return xe;
}
, который дает мне пространство имен правильно, таким образом:
<myroot xmlns="http://www.someurl.com/ns/myroot">
<sometag>somecontent</sometag>
</myroot>
Мой вопрос: как добавить атрибуты схемы xmlns: xsi и xsi: schemaLocation?
(Кстати, я не могу использовать простые атрибуты XAtttributes, так как получаю ошибку при использовании двоеточия ":" в имени атрибута ...)
Или мне нужно использовать XDocument или какой-нибудь другой класс LINQ?
Спасибо ...