Rick Jelliffe就提出了這樣的疑問。參見http://www.oreillynet.com/digitalmedia/blog/2004/07/javas_xpath_apis_needs_groutin.html
我們可以通過多個path路徑找到所有符合條件的節點,然後再根據這些節點不同的路徑做不同的處理。
DomDispatchingIterator d =
new DomDispatchingIterator( someDom, TOPDOWN,
{"/x/y/z", 1, "/x/z", 2, "c[@d], 3 } ) ;
while(d.getNext()){
switch(d.getPathCode()) {
case 1:
// handle /x/y/z
break;
case 2:
// handle /x/z
break;
case 3:
// handle c[@d]
break;
}
}