2015-03-25 2 views
-4

вот программа, которую я сделал для отображения всех возможных строк, содержащих «who» & «ваш» в XML-файле. Файл xml содержит несколько предложений, таких как: Как вы, как ваше имя, какое ваше школьное имя. Программа, которая я код, отображает предложения, если «кто» и «вы» появляются один за другим. Как я могу разбить строку на куски, а затем передать их для проверки через xml. Код whice я попытался это:отображение предложения с использованием строковых фрагментов

var doc = XDocument.Load("dic.xml"); 
string findString = "what your"; 
var results = doc.Descendants("s") 
       .Where(d => d.Value.Contains(findString.ToLower())) 
       .Select(d => d.Value); 

foreach (string result in results) 
{ 
    Console.WriteLine(result); 
} 

Спасибо заранее.

+0

Не ясно, что вы пытаетесь сделать. Пожалуйста, будьте более конкретными, объясняя подробно, как выглядит вход (включая пример _small_-but-complete), как алгоритм, который вы пытаетесь реализовать, обрабатывает входные данные и каков будет результат реализации. Пожалуйста, прочитайте http://stackoverflow.com/help/how-to-ask за советом о том, как представить свой вопрос ясным, ответным путем. –

+0

Я просто хочу показать все предложения, которые имеют оба этих слова, но поскольку я передаю их как одну строку, я хочу разбить эту строку на куски –

ответ

0

Вам нужно будет проверить, содержит ли каждый результат «кто» и «ваш». Ваш оригинальный код искал строку «кто ваши», а не две строки «кто» и «ваш». См this ссылки для получения информации о string.Contains(string)

кодексе

var doc = XDocument.Load("dic.xml"); 

var results = doc.Descendants("s").Where(d => d.Value.Contains("your") || d.Value.Contains("who")).Select(d => d.Value); 

foreach (string result in results) 
{ 
    Console.WriteLine(result); 
} 

редактирования: неправильно исходный код и поставить фильтрацию в неправильном месте

+0

, она сработала для меня !! спасибо :) –

+0

Нет проблем, я только что отредактировал вопрос, потому что я неправильно понял ваш код. Редактированная версия должна работать лучше –

+0

@TabiaRashid В вашем исходном заявлении звучало, что вам нужны предложения, содержащие оба слова и в определенном порядке? Не будет ли это только возвращать предложения, которые имеют либо слово? И даже если бы это было изменено на, и это все равно не будет уважать порядок ... Или я неправильно понял ваши цели? – Taekahn

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