Sto chiamando un'API REST e sto ricevendo una risposta XML. Restituisce un elenco di nomi di spazi di lavoro, e sto scrivendo un metodo rapido IsExistingWorkspace()
. Dal momento che tutti gli spazi di lavoro sono costituiti da caratteri contigui senza spazi bianchi, sto assumendo che il modo più semplice per scoprire se un particolare spazio di lavoro è nella lista è quello di rimuovere tutti gli spazi bianchi (comprese le newline) e fare questo (XML è la stringa ricevuta dalla richiesta web):
XML.Contains("<name>" + workspaceName + "</name>");
So che è sensibile alle maiuscole e alle minuscole, e faccio affidamento su questo. Ho solo bisogno di un modo per rimuovere tutti gli spazi bianchi in una stringa in modo efficiente. So che RegEx e LINQ possono farlo, ma sono aperto ad altre idee. Sono soprattutto preoccupato per la velocità.
Presumo che la vostra risposta XML sia simile a questa:
var xml = @"<names>
<name>
foo
</name>
<name>
bar
</name>
</names>";
Il modo migliore per elaborare XML è usare un parser XML, come LINQ to XML:
var doc = XDocument.Parse(xml);
var containsFoo = doc.Root
.Elements("name")
.Any(e => ((string)e).Trim() == "foo");