eclipselink moxy xpath - 选择当前节点的所有子元素或具有特定名称的文档中的所有元素

时间:2012-03-06 10:56:04

标签: xpath eclipselink moxy

我在jaxb类中为moxy定义了这个xpath

@XmlPath( “子:: * / REG”) 公共列表条目;

但它不会正确解组xml文档。名为entries的List变量为空。

我也试过

@XmlPath( “* / REG”) 公共列表条目;

我也试过

@XmlPath( “// REG”) 公共列表条目;

没有快乐

但如果我这样做

@XmlPath( “BANKGIRO / REG”) 公共列表条目;

没关系,列表已填充。

我还没看过源代码,但我猜这种类型的xpath还不支持。我在xpath验证程序中检查了所有xpath以获得完整性,并且上面的所有xpath都很好(所有xpath对我定位的上下文节点都有效)。

1 个答案:

答案 0 :(得分:1)

EclipseLink JAXB (MOXy) 目前不支持类似:@XmlPath("child::*/REG")的XPath。我们的重点是支持XPath语句,这些语句为编组和解组提供了足够的信息。例如,很清楚@XmlPath("child::*/REG")在读取时的含义,但在将该对象写回XML或JSON时则含糊不清。如果您对此类支持感兴趣,请输入增强请求:

MOXy确实支持XPath:

  • @XmlPath(“。”)//映射到自身节点,在将两个对象映射到同一元素时很有用
  • @XmlPath(“@ foo”)//映射到属性
  • @XmlPath(“foo”)//映射到元素
  • @XmlPath(“foo [2]”)//映射到
  • 的第二次出现
  • @XmlPath(“foo [@ bar ='Hello World']”)//使用值为“Hello World”的bar属性映射到foo元素
  • @XmlPath(“ns1:foo / ns2:@bar”)//映射到命名空间限定节点

了解更多信息