Долгосрочный вопрос - пожалуйста, несите меня!Создание XML с пространствами имен и схемами из XElement
Я хочу программно создать 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 атрибуты?
(BTW, я не могу использовать простые XAtttributes как я получаю сообщение об ошибке для использования двоеточия «:» в имени атрибута ...)
Или мне нужно использовать XDocument или какой-либо другой класс LINQ ?
Спасибо ...