private static XmlDocument GetMetadataformEntityID(string entityID) { XmlDocument adfsMetaData = new XmlDocument(); adfsMetaData.LoadXml(Settings.Default.ADFSMetaData); MetadataDocument metadataDocument = MetadataDocument.Instance(); if (!metadataDocument.SignatureValid) { throw new Exception("Metadata Signature invalid"); } lock (metadataDocument.ReadLock) { var xmlNamespaceManager = AdfsNamespaceManager(metadataDocument.Document); string xpathTemplate = Settings.Default.XPath2Copy; string xpath = String.Format(xpathTemplate, entityID); var entitiesDescriptorNode = metadataDocument.Document.SelectSingleNode(xpath, xmlNamespaceManager); XmlNode copiedNode = adfsMetaData.ImportNode(entitiesDescriptorNode, true); adfsMetaData.DocumentElement.AppendChild(copiedNode); } return(adfsMetaData); }