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

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