2013-02-28 2 views
0

Я пытаюсь найти строку в многострочной строке, содержащей XML, на которую указывает данный Xpath.Найти номер строки XML-строки на основе XPath

Другими словами, у меня есть строка, содержащая XML. У меня есть заданный Xpath, который я хочу использовать, чтобы найти точный номер строки строки.

Каков наилучший способ для этого?

+0

Вы намерены визуализировать выбор XPath или какое-то рыбное исправление XML с конкатенацией строк? Вам нужно обрабатывать общий XML или вы можете обеспечить структуру XML (т. Е. С одним узлом на строку, как в ответе +1 от пользователя L)? Обратите внимание: пожалуйста, избегайте «наилучшего пути» в своих вопросах, не определяя ваши «лучшие» критерии. –

ответ

0

Вы можете загрузить XML из строки в настоящий класс XML.

XDocument x = XDocument.Parse(yourStringContainingXML); 
string contentOfNode = x.Descendants(XName.Get("NameOfTheNode")).First().Value; 
+0

Он ищет номер строки, а не значение. –

2

Вместо этого вы можете использовать XmlTextReader. Это имеет свойства LineNumber и LinePosition.

У XmlTextReader есть некоторые ограниченные «чтения до тех пор, пока вы не достигнете таких-то узлов», но они не так сложны, как у XPath. В зависимости от того, насколько сложна XPath, это может работать или не работать.

Я нашел ссылку на эту тему here.

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