Как я могу получить определенные узлы из XML с помощью XPath в Java?

Моя файловая структура xml похожа на эту

<?xml version="1.0" encoding="utf-8" ?> <book> <chapters> <chapter id="1"> <page id="1" cid= "1" bid = "Book1"> <text>Hi</text> </page> <page id="2" cid= "1" bid = "Book1"> <text>Hi</text> </page> </chapter> <chapter id="2"> <page id="1" cid= "2" bid = "Book1"> <text>Hi</text> </page> <page id="2" cid= "2" bid = "Book1"> <text>Hi</text> </page> </chapter> <chapter id="3"> <page id="1" cid= "3" bid = "Book1"> <text>Hi</text> </page> <page id="2" cid= "3" bid = "Book1"> <text>Hi</text> </page> </chapter> </chapters> </book> 

Я хочу получить конкретный узел страницы, передав идентификатор страницы и идентификатор главы . Как я могу это достичь?

Кроме того, в узле книги содержится слишком много главы, и каждая глава содержит много страниц. Итак, я использую синтаксический анализатор SAX для анализа содержимого.

«Как получить определенные узлы из XML с помощью XPath в Java?»

Я не очень хорошо знаком с Java и Android, но xpath, чтобы получить конкретную page из вашего XML-образца, передавая page id chapter id должен выглядеть примерно так:

 //chapter[@id='chapter_id_here']/page[@id='page_id_here'] 

краткое объяснение :

  • //chapter : найти элемент chapter любом месте XML …
  • [@id='chapter_id_here'] : … где значение атрибута id равно определенному идентификатору главы
  • /page : от каждого из фильтрованных элементов chapter , найдите page дочерних элементов …
  • [@id='page_id_here'] : … где значение атрибута id равно идентификатору страницы

Вы можете следить за этими потоками для реализации для выполнения выражения xpath в Java: как читать XML с использованием XPath в Java и в Android: поиск в XML-файле с помощью XPath в Android

Intereting Posts
Android: переопределение onPause и onResume – правильный путь Android TabLayout больше не отображает содержимое, как только фрагмент переключается Ошибка MediaPlayer (1, -1004), а также MEDIA_ERROR_IO, пытающаяся передать музыку на Samsung S3 Макет размытого / низкого качества, когда jQuery mobile на Android-телефоне с использованием телефонной затычки Facebook onCompleted Email java.lang.NullPointerException Почему клавиатура в ландшафтном режиме выглядит так? В Android-проекте в Eclipse отсутствует папка с библиотекой Android 4.2.2 Показать ImageView сверху RelativeLayout Цвет текста фрагмента Android Preference Как получить по умолчанию HTTP USER AGENT с устройства Android? Развертывать приложения WebGL в качестве приложений для iOS или Android? Прокси SSL / Чарльз и проблемы с Android Получение широты и долготы с использованием gps каждые 10 минут в фоновом режиме Игнорировать предупреждение орфографии в студии Android для определенных файлов Реферат: сделайте снимок с использованием намерения камеры и отобразите фотографию с правильной ориентацией (работает, надеюсь, на все устройства)