Доступ к детям с заданным именем через jdom
Я хочу получить доступ к детям с skos: Концепция. getChildren("skos:Concept") и getChildren("Concept") дают мне пустой список, что мне вместо этого использовать?
Мой пример данных:
<owl:AnnotationProperty rdf:about="&dc;identifier"/>
<owl:ObjectProperty rdf:about="&skos;narrower"/>
<skos:Concept rdf:about="#concept:0_acetylpantolactone:4253501">
<skos:prefLabel xml:lang=""
>0-acetylpantolactone</skos:prefLabel>
<skos:hiddenLabel xml:lang=""
>2(3H)-Furanone, 3-(acetyloxy)dihydro-4,4-dimethyl-, (R)-</skos:hiddenLabel>
<dc:identifier rdf:resource="urn:CHID:028227363"/>
<dc:identifier rdf:resource="urn:MESH:C014305"/>
</skos:Concept>
<skos:Concept rdf:about="#concept:1012S:4202655">
<skos:prefLabel xml:lang="">1012S</skos:prefLabel>
<skos:hiddenLabel xml:lang="" >C19-H16-Cl2-N6-O</skos:hiddenLabel>
<skos:hiddenLabel xml:lang="">Compound 1012S</skos:hiddenLabel>
<dc:identifier rdf:resource="urn:CAS:95211_91_9"/>
<dc:identifier rdf:resource="urn:CHID:095211919"/>
</skos:Concept>
1 ответ
Решение
Согласно javadoc для getChildren(String): "Это возвращает список всех дочерних элементов, вложенных напрямую (на один уровень глубиной) в этот элемент с заданным локальным именем и принадлежащих к пространству имен". Я думаю, проблема в том, что у ваших элементов есть пространство имен, и вы должны использовать getChildren(String, Namespace):
Namespace ns = Namespace.getNamespace("skos", [String uri]);
List l = elem.getChildren("Concept", ns);