Volám rozhranie REST API a dostávam späť odpoveď XML. Vracia zoznam názvov pracovných priestorov a ja píšem rýchlu metódu IsExistingWorkspace()
. Keďže všetky pracovné priestory sa skladajú zo súvislých znakov bez bielych znakov, predpokladám, že najjednoduchší spôsob, ako zistiť, či sa konkrétny pracovný priestor nachádza v zozname, je odstrániť všetky biele znaky (vrátane nových riadkov) a vykonať toto (XML je reťazec prijatý z webovej požiadavky):
XML.Contains("<name>" + workspaceName + "</name>");
Viem, že sa rozlišujú veľké a malé písmená, a na to sa spolieham. Potrebujem len spôsob, ako efektívne odstrániť všetky biele znaky v reťazci. Viem, že RegEx a LINQ to dokážu, ale som otvorený aj iným nápadom. Ide mi hlavne o rýchlosť.
Predpokladám, že vaša odpoveď XML vyzerá takto:
var xml = @"<names>
<name>
foo
</name>
<name>
bar
</name>
</names>";
Najlepší spôsob spracovania XML je použiť analyzátor XML, napríklad LINQ to XML:
var doc = XDocument.Parse(xml);
var containsFoo = doc.Root
.Elements("name")
.Any(e => ((string)e).Trim() == "foo");