#java #xml #xml-parsing #jaxp
#java #xml #синтаксический анализ xml #jaxp
Вопрос:
У меня есть XML-файл, подобный этому:
<Student CourseTitle="Course1"/>
<Course CourseTitle="Course1" Duration="10"/>
Где CourseTitle в теге Course является ключевым. Названием курса в Student является keyref. Как я могу проанализировать этот XML-документ и получить студенческий курс со всеми атрибутами в теге Course? Используя JAXP? Спасибо и извините за мой плохой английский.
Комментарии:
1. JAXP предоставляет широкий спектр возможностей, включая синтаксический анализ SAX и DOM, обработку XPath, XSLT и XML-схемы. Поэтому неясно, какую технологию вы на самом деле хотите использовать. Однако ни один из них напрямую не позволяет вам использовать определенные XSD ограничения key / keyref для поддержки запроса.
Ответ №1:
В XSLT определите ключ
<xsl:key name="course-key" match="Course" use="CourseTitle"/>
и затем, если студент является элементом контекста, вы можете найти соответствующий курс, используя
select="key('course-key', @CourseTitle)