以下任何XPath表达式都可接受吗?使用eclipselink 2.3.1版

@XmlPath("../header/@type")
@XmlPath("/root/header/@type")
@XmlPath("parent::*/header/@type")

基本上,这是在XML文档(/root/tag)中重复的类中,如果不清楚,我将详细说明。

我正在尝试遍历树,而不是遍历树。我的其他@XmlPath批注工作正常。

最佳答案

EclipseLink JAXB (MOXy) 当前不支持轴/父级。如果您对这种支持感兴趣,请输入一个增强请求:

  • https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EclipseLink

  • 它确实支持XPath,例如:
  • @XmlPath(“。”)//映射到自身节点,在将两个对象映射到同一元素
  • 时很有用
  • @XmlPath(“@ foo”)//映射到属性
  • @XmlPath(“foo”)//映射到元素
  • @XmlPath(“foo [2]”)//映射到
  • 的第二次出现
  • @XmlPath(“foo [@ bar ='Hello World']”)//映射到带有bar属性且值为“Hello World”的foo元素
  • @XmlPath(“ns1:foo/ns2:@bar”)//映射到 namespace 合格的节点

  • 有关更多信息
  • http://blog.bdoughan.com/2010/07/xpath-based-mapping.html
  • http://blog.bdoughan.com/2010/09/xpath-based-mapping-geocode-example.html
  • http://blog.bdoughan.com/2011/03/map-to-element-based-on-attribute-value.html
  • 关于xpath - EclipseLink MOXy @XmlPath对轴/父级的支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8404134/

    10-10 05:52