在 JaxB 中创建不同的运算符?
Creating different operators in JaxB?
我正在使用来自 https://github.com/highsource/ogc-schemas 的 OGC 模式。
我正在查看从反序列化 XML 到 JaxB 对象的未编组对象结构。
我正在尝试构建一个自定义对象以使用 JaxB 序列化为 XML。
已看到过滤器架构http://schemas.opengis.net/filter/2.0/filter.xsd
我正在像这样解组对象:
JAXBElement<FilterType> filter = (JAXBElement<FilterType>) unmarshal.unmarshal(new File("Filter01.xml"));
现在,我正在查看内部对象,发现我有不同的过滤器类型。我想创建一个二进制逻辑运算符的过滤器类型,并使用适当的数据对其进行初始化。这让我感到困惑的是初始化部分。
IE:
BinaryLogicOpType blop = new BinaryLogicOpType();
大致情况:
ObjectFactory objectFactory = new ObjectFactory()
BinaryLogicOpType _or = new BinaryLogicOpType();
JAXBElement<BinaryLogicOpType> root = objectFactory.createOr(_or);
BinaryComparisonOpType weightIsLessThan100 = new BinaryComparisonOpType();
_or.getOps()
.add(objectFactory.createPropertyIsLessThan(weightIsLessThan100));
JAXBElement<String> weightValueReference =
objectFactory.createValueReference("weight");
LiteralType _100 = new LiteralType();
_100.getContent().add(100);
JAXBElement<LiteralType> _100Literal = objectFactory.createLiteral(_100);
weightIsLessThan100.getExpression().add(weightValueReference);
weightIsLessThan100.getExpression().add(_100Literal);
以此类推
我正在使用来自 https://github.com/highsource/ogc-schemas 的 OGC 模式。
我正在查看从反序列化 XML 到 JaxB 对象的未编组对象结构。
我正在尝试构建一个自定义对象以使用 JaxB 序列化为 XML。
已看到过滤器架构http://schemas.opengis.net/filter/2.0/filter.xsd
我正在像这样解组对象:
JAXBElement<FilterType> filter = (JAXBElement<FilterType>) unmarshal.unmarshal(new File("Filter01.xml"));
现在,我正在查看内部对象,发现我有不同的过滤器类型。我想创建一个二进制逻辑运算符的过滤器类型,并使用适当的数据对其进行初始化。这让我感到困惑的是初始化部分。
IE:
BinaryLogicOpType blop = new BinaryLogicOpType();
大致情况:
ObjectFactory objectFactory = new ObjectFactory()
BinaryLogicOpType _or = new BinaryLogicOpType();
JAXBElement<BinaryLogicOpType> root = objectFactory.createOr(_or);
BinaryComparisonOpType weightIsLessThan100 = new BinaryComparisonOpType();
_or.getOps()
.add(objectFactory.createPropertyIsLessThan(weightIsLessThan100));
JAXBElement<String> weightValueReference =
objectFactory.createValueReference("weight");
LiteralType _100 = new LiteralType();
_100.getContent().add(100);
JAXBElement<LiteralType> _100Literal = objectFactory.createLiteral(_100);
weightIsLessThan100.getExpression().add(weightValueReference);
weightIsLessThan100.getExpression().add(_100Literal);
以此类推