jdom-xpath:コレクションで2番目の値を取得できません
-
28-09-2019 - |
質問
私はこれについてかなり混乱しています。次のXMLが与えられます:
<sch:eventList>
<sch:event>
<sch:eventName>Event One</sch:eventName>
<sch:locationName>Location One</sch:locationName>
</sch:event>
<sch:event>
<sch:eventName>Event Two</sch:eventName>
<sch:locationName>Location Two</sch:locationName>
</sch:event>
</sch:eventList>
次のコードを使用してJDOMを使用する場合:
XPath eventNameExpression = XPath.newInstance("//sch:eventName");
XPath eventLocationExpression = XPath.newInstance("//sch:eventLocation");
XPath eventExpression = XPath.newInstance("//sch:event");
List<Element> elements = eventExpression.selectNodes(requestElement);
for(Element e: elements) {
System.out.println(eventNameExpression.valueOf(e));
System.out.println(eventLocationExpression.valueOf(e));
}
コンソールにはこれが表示されます。
Event One
Location One
Event One
Location One
何が足りないの?
解決
「//」は常にルートノードで検索し始めます。 eg './sch:EventName'を使用します。これは現在のノードに関連しています。
所属していません StackOverflow