В синтаксических анализаторах Sax обычно есть хуки, где вы можете написать код, в частности StartElement
, EndElement
и characters
.
Мосс имеет правильный ответ -
StartElement : поместите имя элемента в стек.
символов : если имя элемента равно «name», а в стеке имеется элемент «OuterTag»,
тогда вы нашли свою ценность. В противном случае игнорируйте это.
EndElement Удаление элемента из стека.
Обратите внимание, что синтаксические парсеры очень мощные, но иногда излишни. Очень быстрый, подходит для разбора искаженных XML или очень больших XML-файлов, реагирующих на элементы при их обнаружении синтаксическим анализатором.
Я бы осторожно предложил «рассмотреть» решение XPath, которое выполняет анализ для вас, позволяя вам легко ссылаться на любой элемент. Создайте объект Xpath и запросите его с помощью чего-то вроде '/OuterTag/Name[1]'
Если вы уже использовали jQuery, вы будете чувствовать себя как дома.
Однако, если ваш XML искажен или действительно большой и сложный, это может быть очень медленно. Вы были предупреждены.
Просто знайте, что XPath доступен как возможное решение. http://www.javabeat.net/tips/182-how-to-query-xml-using-xpath.html