2010-05-18 7 views
1

У меня есть некоторые данные xml, и я пытаюсь найти данные поиска по ключевым словам. Например, если я ищу «некоторые» для следующих данных, он возвращает мне <id> и <title>.Как выполнить поиск в наборе данных xml?

<resource> 
    <id>101</id> 
    <title>Test Environment</title> 
    <description><b>Some</b> description. </description> 
    <type>classroom</type> 
</resource> 
<resource> 
    <id>102</id> 
    <title>ABC Test Environment</title> 
    <description><b>Some</b> another description. </description> 
    <type>classroom</type> 
</resource> 
... 

Я посмотрел на xpath, например. $xml->xpath('//title'), но ищет только элементы.

В принципе, мне нужно создать функциональность, в которой пользователи могут выполнять поиск по ключевым словам в указанном выше наборе данных, который я получаю от стороннего api в вышеуказанном формате. Любые идеи, как я могу это достичь? используя PHP/Javascript и т. д.

Спасибо.

+0

У вас есть теги PHP и JavaScript. Я полагаю, что тег JavaScript на самом деле не применим (например, вы делаете это на стороне сервера, а не на стороне клиента?) – scunliffe

+0

Мне просто интересно, есть ли там какое-либо решение для решения Java functionaity? – user187580

+0

поиск ключевого слова обрабатывает xml как плоский текстовый файл, возможно, вы хотите найти ключевое слово в текстовых узлах ... что вы действительно хотите делать? –

ответ

1

Xpath позволяет вам искать по содержимому элементов. Быстрый поиск в Google показывает эту ссылку: http://www.exampledepot.com/egs/org.w3c.dom/xpath_GetElemByText.html, которая позволит вам сразу же попасть в дождь.

+0

просто сделал быстрый тест в соответствии с инструкциями на странице и выглядит как ответ. даст ему еще один путь, и вы знаете позже. lso есть комментарий на этой странице - В IE 8 этот метод использования пути не работает? Я посмотрю. Спасибо – user187580

0

XPath поддерживает эту функцию, и это можно сделать на большинстве browsers (я предполагаю, что это веб-приложение). Однако вы уверены, что это то, что вы хотели бы сделать? Сколько данных вы будете отправлять клиенту?