Ho questo codice, ma mi spacca di questo errore:
"                Language = pIndexElement.Attribute("sincro:language")?.Value,
                SincroVersion = pIndexElement.Attribute("sincro:sincroVersion")?.Value,
                Uri = pIndexElement.Attribute("sincro:uri")?.Value,
                SelfDescription = new SelfDescription
                {
                    ID = pIndexElement.Element(XName.Get("SelfDescription", "http://www.uni.com/U3011/sincro-v2/")).Element(XName.Get("ID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    CreatingApplicationName = pIndexElement.Element(XName.Get("SelfDescription", "http://www.uni.com/U3011/sincro-v2/"))
                                                        .Element(XName.Get("CreatingApplication", "http://www.uni.com/U3011/sincro-v2/"))
                                                        .Element(XName.Get("Name", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    CreatingApplicationVersion = pIndexElement.Element(XName.Get("SelfDescription", "http://www.uni.com/U3011/sincro-v2/"))
                                                        .Element(XName.Get("CreatingApplication", "http://www.uni.com/U3011/sincro-v2/"))
                                                        .Element(XName.Get("Version", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    CreatingApplicationProducer = pIndexElement.Element(XName.Get("SelfDescription", "http://www.uni.com/U3011/sincro-v2/"))
                                                        .Element(XName.Get("CreatingApplication", "http://www.uni.com/U3011/sincro-v2/"))
                                                        .Element(XName.Get("Producer", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    MoreInfo = new MoreInfo
                    {

                        ExternalMetadata = pIndexElement.Element(XName.Get("SelfDescription", "http://www.uni.com/U3011/sincro-v2/"))
                                                         .Element(XName.Get("MoreInfo", "http://www.uni.com/U3011/sincro-v2/"))
                                                         .Elements(XName.Get("ExternalMetadata", "http://www.uni.com/U3011/sincro-v2/"))
                                                         .Select(em => new ExternalMetadata
                                                         {
                                                             ID = em.Element(XName.Get("ID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                                                             Path = em.Element(XName.Get("Path", "http://www.uni.com/U3011/sincro-v2/")).Value,
                                                             Hash = em.Element(XName.Get("Hash", "http://www.uni.com/U3011/sincro-v2/")).Value
                                                         }).ToList()
                    }
                },
                PVolumes = pIndexElement.Elements(XName.Get("PVolume", "http://www.uni.com/U3011/sincro-v2/")).Select(pv => new PVolume
                {
                    ID = pv.Element(XName.Get("ID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    Label = pv.Element(XName.Get("Label", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    Description = pv.Element(XName.Get("Description", "http://www.uni.com/U3011/sincro-v2/")).Value
                }).ToList(),
                FileGroups = pIndexElement.Elements(XName.Get("FileGroup", "http://www.uni.com/U3011/sincro-v2/")).Select(fg => new FileGroup
                {
                    ID = fg.Element(XName.Get("ID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                    Files = fg.Elements(XName.Get("File", "http://www.uni.com/U3011/sincro-v2/")).Select(f => new SyncroXml.File
                    {
                        ID = f.Element(XName.Get("ID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                        Path = f.Element(XName.Get("Path", "http://www.uni.com/U3011/sincro-v2/")).Value,
                        Hash = f.Element(XName.Get("Hash", "http://www.uni.com/U3011/sincro-v2/")).Value
                    }).ToList()
                }).ToList(),
                ProcessInfo = new Process
                {
                    Submitter = new Submitter
                    {
                        AgentID = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("Submitter", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AgentID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                        AgentName = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("Submitter", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AgentName", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("FormalName", "http://www.uni.com/U3011/sincro-v2/")).Value
                    },
                    Holder = new Holder
                    {
                        AgentID = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("Holder", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AgentID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                        AgentName = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("Holder", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AgentName", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("FormalName", "http://www.uni.com/U3011/sincro-v2/")).Value
                    },
                    AuthorizedSigner = new AuthorizedSigner
                    {
                        AgentID = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AuthorizedSigner", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AgentID", "http://www.uni.com/U3011/sincro-v2/")).Value,
                        AgentName = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AuthorizedSigner", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("AgentName", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("FormalName", "http://www.uni.com/U3011/sincro-v2/")).Value
                    },
                    TimeReference = new TimeReference
                    {
                        TimeInfo = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("TimeReference", "http://www.uni.com/U3011/sincro-v2/"))
                                                 .Element(XName.Get("TimeInfo", "http://www.uni.com/U3011/sincro-v2/")).Value
                    },
                    LawsAndRegulations = pIndexElement.Element(XName.Get("Process", "http://www.uni.com/U3011/sincro-v2/"))
                                                       .Element(XName.Get("LawsAndRegulations", "http://www.uni.com/U3011/sincro-v2/")).Value
                }
            };"
questo è l'errore "The ':' character, hexadecimal value 0x3A, cannot be included in a name."