2014-10-22 4 views
0

я хочу знать, как удалить:Удалить из строки C#

<?xml version="1.0" encoding="UTF-8"?> 

от А string данных. Я попытался это, но он не работает

string result = data.Replace("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>", ""); 

(я не работаю с XML, это просто ответ, чтобы манипулировать без заголовка)

+0

Похоже, вы обрабатываете XML. Вы рассматривали использование 'XmlReader',' XElement' или 'XmlDocument' для обработки, а не операции с сырой строкой? Предполагая, что эта директива по обработке будет буквально присутствовать в документе, не очень надежна. –

+0

Thnx для ответа, но я не обрабатываю XML, это строка для отображения содержимого без заголовка xml –

+1

Строковый параметр в вашей команде replace имеет дополнительное пространство перед закрывающим '?>', Которое не находится в вашем примере data –

ответ

3

Давайте посмотрим на ваши две строки. Сбрасывая их сбежали, они:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml version="1.0" encoding="UTF-8" ?> 

Другими словами, вам удалось добавить дополнительное пространство. Удалите это, и ваш код будет успешным.

В более широком смысле, каждый задается вопросом, почему вы пытаетесь это сделать. Простая текстовая обработка файлов XML может привести к боли и страданиям. Возможно, вам стоит рассмотреть возможность использования парсера.

+0

Thanx :) лишнее пространство тратит мое время, сейчас работает –