Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpath EclipseLink MOXy:XmlPath注释中的逻辑运算符_Xpath_Jaxb_Eclipselink_Moxy - Fatal编程技术网

Xpath 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"

逻辑运算符在EclipseLink MOXy的XmlPath注释中工作吗? 我尝试过,但无法使其工作(没有抛出异常,也没有任何内容绑定到“元素”)

例如,我希望在绑定文件中包含如下内容:

    <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