XmlSerializer в .NET с XmlSchemaForm.UnqualifiedC#

Место общения программистов C#
Ответить
Anonymous
 XmlSerializer в .NET с XmlSchemaForm.Unqualified

Сообщение Anonymous »

Учитывается следующий фрагмент кода:

Код: Выделить всё

using System;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace XmlSerializationTest
{
[XmlType(Namespace = "http://www.test.com")]
public class Element
{
[XmlElement]
public int X;
}

[XmlRoot(Namespace = "http://www.test.com")]
public class Root
{
[XmlElement(Form = XmlSchemaForm.Unqualified)]
public Element Element;
}

public static class Program
{
public static void Main(string[] args)
{
var root = new Root { Element = new Element { X = 1 } };
var xmlSerializer = new XmlSerializer(typeof(Root));
xmlSerializer.Serialize(Console.Out, root);
}
}
}
выход:
Вопрос в том, почему установка свойства Form в XmlSchemaForm.Unqualified приводит к тому, что пространство имен элемента Element устанавливается в значение "", даже если он имеет атрибут XmlTypeAttribute с тем же пространством имен, что и корневой элемент?

Создается такой тип кода (часть XmlSchemaForm.Unqualified) с помощью инструмента WSCF.blue, и он портит пространства имен.

Подробнее здесь: https://stackoverflow.com/questions/690 ... nqualified
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»