using System.Xml.Serialization;
using System.Threading.Tasks;
public static void Main()
@"<?xml version=""1.0"" encoding=""utf-8""?>
<x:somefile xmlns:x=""http://www.some.com/xmlns/archivefile20010605"">
<x:somegroup x:itemid=""289001000377735"" />
var archiveFile = Deserialize(xml);
static SomeFile Deserialize(string xml)
using var streamReader = new StringReader(xml);
using var xmlReader = XmlReader.Create(streamReader, null);
var serializer = new System.Xml.Serialization.XmlSerializer(typeof(SomeFile));
return (SomeFile)serializer.Deserialize(xmlReader);
[XmlRoot(ElementName = "somefile", Namespace = "http://www.some.com/xmlns/archivefile20010605")]
[XmlElement(ElementName = "somefield", Namespace = "http://www.some.com/xmlns/archivefile20010605")]
public SomeField SomeField { get; set; }
[XmlRoot(ElementName = "somefield", Namespace = "http://www.some.com/xmlns/archivefile20010605")]
[XmlElement(ElementName = "somegroup", Namespace = "http://www.some.com/xmlns/archivefile20010605")]
public SomeGroup SomeGroup { get; set; }
[XmlRoot(ElementName = "somegroup", Namespace = "http://www.some.com/xmlns/archivefile20010605")]
[XmlAttribute(AttributeName = "itemid", Namespace = "http://www.some.com/xmlns/archivefile20010605")]
public string ItemId { get; set; }