我有一个类,看起来像这样一个领域
@XmlElement(name = "Name", namespace = "a:b:c:1", required = true)
protected String firstName
我想的JXPath使用这样
String name = (String) context.getValue("Name");
但它不能识别的XMLElement name属性。 有没有什么办法让它这样做呢?
我有一个类,看起来像这样一个领域
@XmlElement(name = "Name", namespace = "a:b:c:1", required = true)
protected String firstName
我想的JXPath使用这样
String name = (String) context.getValue("Name");
但它不能识别的XMLElement name属性。 有没有什么办法让它这样做呢?
我不认为你可以 。 允许的JXPath豆层次的导航使用标准的豆获得/是符号,但不提供现场访问注释的方法。
我想你也许应该看看这个答案再。 找到注解 。 也许你可以用一个解决方案的JXPath结合?
我这样做是因为布赖恩建议
Field[] fields = rq.getClass().getDeclaredFields();
Map<String, String> annotationMap = new HashMap<>();
for(Field field:fields)
{
if(field.getAnnotation(XmlElement.class).name().equals("Name"))
{
annotationMap.put("Name", field.getName());
}
}
String name = (String) context.getValue(annotationMap.get("Name"));
System.out.println(name);
但不会这种方法是乏味的,如果我有100场以上? 有一个更好的方法吗?