2015-08-04 3 views
-2

У меня есть набор строк, в которых есть некоторые экранированные символы. Мне нужно отменить сбор строк, прежде чем я смогу их использовать. К сожалению, HttpUtility.HtmlDecode, похоже, не работает над коллекцией, переданной ниже. Странно в отдельном консольном приложении, которое я создал для тестирования, оно работает. Есть идеи?Unescaping строки, хранящиеся в коллекции

private void UpdateTaxonomyTerms(TaxonomywebserviceSoapClient taxWebService, string termStoreId, string termSetId, List<string> TermsList) 
{ 
    string TermsXML = GetTermSet(taxWebService, termStoreId, termSetId); 

    XDocument xDoc = XDocument.Parse(TermsXML); 

    for (int i = 0; i < TermsList.Count; i++) { 
     string UnescapedTermToFind = HttpUtility.HtmlDecode(TermsList[i].ToString()); 

     Console.WriteLine(UnescapedTermToFind); 

     string TermGuid = FindTerm(xDoc, UnescapedTermToFind); 
     TermsList[i] = string.Concat(UnescapedTermToFind, "|", TermGuid); 
    } 
} 
+1

Пример ввода? ожидаемый результат? 'GetTermSet'? 'FindTerm'? – EZI

ответ

0

Вы могли бы заменить его однострочника, такие как

string result = string.Join("|", 
     TermsList.Select (term => 
      FindTerm(xDoc, System.Web.HttpUtility.HtmlDecode(term)))); 

Но, это просто синтаксический сахар и, честно говоря, ваш цикл, вероятно, так же, как легко читать.

Смежные вопросы