Извините, я не знаком ни с одним приложением (кроме Firebug - мы вернемся к этому через минуту), которое будет делать это из коробки. Если оно действительно большое - вам, возможно, придется развернуть собственное решение - не должно быть слишком сложно использовать какой-то синтаксический анализатор XML/HTML и проходить через узлы, пока вы не найдете нужный текст - в этот момент вы будете использовать некоторые встроенные функция для получения XPath текущего элемента.
О упомянутом плагине Firefox - Firebug. У меня недостаточно репутации, чтобы показать вам картинку - но это достаточно простой процесс, чтобы сделать это:
Откройте файл XML в Firefox - возможно, у него нет определенного стиля, поэтому вы увидите знакомое:
Этот XML-файл не имеет никакой информации о стиле, связанной с ним. Дерево документа показано ниже.
нажмите F12, чтобы вызвать Firebug, вы должны увидеть, что файл теперь отображается как бот, как html - каждый элемент является встроенным и, таким образом, текст "сливается" с BLOB-объектом. Это не имеет значения - важная часть в том, что на вкладке HTML в Firebug вы можете увидеть, что ваш XML-файл проанализирован.
- в поле ввода поиска Firebug введите то, что вы хотите найти, это будет сосредоточено на вкладке HTML.
- щелкните правой кнопкой мыши нужный элемент на вкладке HTML, и вверху вы увидите два варианта, представляющих интерес:
- Копировать XPath
- Копировать путь CSS
Вы также можете попробовать это с помощью инструментов разработчика Firefox:
- откройте файл XML в Firefox и дважды нажмите F12, чтобы вызвать и скрыть Firebug - я не нашел способа заставить файл загружаться "правильно" вместо представления в виде дерева - Firebug делает это.
- откройте Инструменты разработчика (нажмите кнопку "Открыть меню" -> Разработчик -> Инструменты переключения)
- нажмите на ваш (плохо) отрендеренный XML-файл, чтобы сосредоточиться на нем, Ctrl+F, чтобы найти фразу, она будет выделена, как и при любом другом поиске.
- нажмите на инструмент инспектора ("Выбрать элемент со страницы") и нажмите на выделенный текст
- щелкните правой кнопкой мыши на найденном элементе на вкладке "Инспектор" и выберите "Копировать уникальный селектор" - хотя в моем Firefox он иногда возвращает "неопределенный" вместо верхнего узла, даже если рассматриваемый XML действительно проверяет ...
Для тестового файла:
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
</catalog>
Где наша искомая фраза "Компьютер", и, таким образом, искомый узел:
<genre>Computer</genre>
Результаты:
- Firebug "Копировать XPath"
/ Каталог / книга / жанр
- Firebug "Копировать CSS Path"
каталог книга № bk101 жанр
- Инструменты разработчика Firefox "Копирование уникального селектора"
# bk101> жанр:nth-child(3)
Меня беспокоит только то, что вы написали, что у вас большой файл. Если он действительно очень большой - ну, вы знаете, как браузеры любят время от времени работать. ;)