0
List alma = new ArrayList();
alma.add(new Object[] { "alma", "korte" });
alma.add(new Object[] { "alma2", "korte2" });
alma.add(new Object[] { "alma3", "korte3" });
JXPathContext context = JXPathContext.newContext(alma);
List result = context.selectNodes("????????");
System.out.println(result);

したがって、基本的に、次の出力を表示するには、疑問符の場所に何を書く必要がありますか:

[alma,alma2,alma3]
4

2 に答える 2

1

ありえないと思います。データをある種のコンテナ オブジェクトに入れる必要があります。例えば、

public class AlmaContainer {
  List<AlmaObject> alma = new ArrayList<AlmaObject>();
}

public class AlmaObject {
  String name;
  String value;
  AlmaObject(name, value) {
     this.name=name
     this.value= value
  }
}

そして、次の式を使用できます。

context.selectNodes("alma/@name");
于 2011-05-27T14:16:33.817 に答える
0

奇妙ですが、初期構造を変更できない場合は、次の 2 つの手順で変更できます。

Iterator<Object> iter = context.iterate(".");
while(iter.hasNext()){
    Object o=iter.next();
    JXPathContext context2 = JXPathContext.newContext(o);
    System.out.println(context2.getValue(".[1]"));
}

出力:

alma
alma2
alma3
于 2014-01-21T11:52:17.343 に答える