Я пытаюсь создать следующий элемент XML с использованием С#.
<Foo xmlns="http://schemas.foo.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.foo.com
http://schemas.foo.com/Current/xsd/Foo.xsd">
Проблема в том, что я получаю исключение:
Префикс "не может быть переопределен с" внутри одного тега начального элемента.
Это мой код С#:
XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";
XElement foo = new XElement("Foo", new XAttribute("xmlns", "http://schemas.foo.com"),
new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
new XAttribute(xsi + "schemaLocation", "http://schemas.foo.com http://schemas.foo.com/Current/xsd/Foo.xsd"));
Как я могу это исправить? Я пытаюсь отправить сгенерированный XML как тело сообщения SOAP, и мне нужно, чтобы он был в этом формате для получателя.
РЕДАКТИРОВАТЬ: я нашел свой ответ на другой вопрос. Управление порядком пространств имен XML