Xpath EclipseLink MOXy:XmlPath注释中的逻辑运算符
逻辑运算符在EclipseLink MOXy的XmlPath注释中工作吗? 我尝试过,但无法使其工作(没有抛出异常,也没有任何内容绑定到“元素”) 例如,我希望在绑定文件中包含如下内容:Xpath EclipseLink MOXy:XmlPath注释中的逻辑运算符,xpath,jaxb,eclipselink,moxy,Xpath,Jaxb,Eclipselink,Moxy,逻辑运算符在EclipseLink MOXy的XmlPath注释中工作吗? 我尝试过,但无法使其工作(没有抛出异常,也没有任何内容绑定到“元素”) 例如,我希望在绑定文件中包含如下内容: <java-type name="Content"> <java-attributes> <xml-element java-attribute="elements" xml-path="/a/b/ | /c/d"
<java-type name="Content">
<java-attributes>
<xml-element java-attribute="elements" xml-path="/a/b/ | /c/d"
type="ElementType" container-type="java.util.List" />
</java-attributes>
</java-type>
有没有一种方法可以在不使用xml路径中的逻辑or的情况下通过修改绑定获得相同的结果
我只能想到一种解决方法,在域模型中使用getter和settings,将/a/b
和/c/d
绑定到元素,让setter将元素附加到列表中,而不是在每次调用setElements()时替换列表。不过,我宁愿在绑定文件中处理它
文档中是否有指定MOXy支持XPath的哪些部分的地方?下面是一个如何支持此用例的示例 映射文档(bindings.xml) 对于这个用例,您可以使用
xml元素
映射。在每个嵌套的xml元素
映射上,您将指定不同的xml路径
Java模型(内容)
下面是我们将用于此示例的Java模型
用于UM17977009的包;
导入java.util.List;
公开课内容{
私有列表元素;
公共列表getElements(){
返回元素;
}
公共void集合元素(列表元素){
这个元素=元素;
}
}
jaxb.properties
要将MOXy指定为JAXB提供程序,您需要在与域模型相同的包中包含一个名为JAXB.properties
的文件,其中包含以下条目(请参阅:)
Input(Input.xml)
下面是一个示例输入文档
我们将对为映射输入的XPath语句添加一些验证。您可以通过以下链接跟踪我们在这方面的进展:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory