Я не думаю, что это возможно без использования Title в качестве пользовательского типа или явной реализации методов сериализации.
Вы можете создать собственный класс, например ...
class MovieTitle
{
[XmlText]
public string Title { get; set; }
[XmlAttribute(Namespace="http://www.myxmlnamespace.com")]
public string uid { get; set; }
public override ToString() { return Title; }
}
[XmlElement(ElementName = "Title")]
public MovieTitle Title;
, который должен произвести:
<Title x:uid="movie_001">Armagedon</Title>
Хотя сериализатор может делать интересные вещи с неизвестными пространствами имен.
Вы можете избежать странного поведения, объявив свои пространства имен и предоставив объект сериализатору.
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("x", "http://www.myxmlnamespace.com");