我想存储在我的JavaWeb服务中收到的xml。报告将每5分钟运行一次,以提取xml元素中的一些数据。我想到了两种方法来解决这个问题。在数据库中创建多个表以捕获xml数据。基本上每个元素在数据库中都有自己的列。将整个xml转储到一个可以存储xml数据的列中。出于报告目的,解析查询本身中的值。以上哪种方法更好,特别是在性能方面?这一点很重要,因为报告的生成频率非常高(每5分钟一次)。xml模式非常复杂,并不简单。 最佳答案 如果数据要写入一次并查询多次,那么解析XML文档一次、将数据存储在适当的关系模式中并查询关系模式几乎肯定会更有效
如果我有一个用注释的类@XmlType(name="someDTO",propOrder={"firstField","secondField",})但是XML(比如来自SOAP响应)看起来像abc我的对象仍将填充firstField和secondField,而忽略thirdField。这是为什么?会一直这样吗?如果存在额外的字段,是否有办法阻止创建对象? 最佳答案 一些JAXB(JSR-222)如果有属性映射到未包含在propOrder中的XML元素,实现将提示。@XmlType上的propOder不用于控制包含/排除哪些元素。排
我有一个Oracle函数可以动态创建XML文档,并以SYS.XMLTYPE值返回它。我想从SQLDeveloper运行查询,调用该函数并打印文档(通过选择或dbms_output-我不在乎)。但是所有示例/文档似乎都涉及查询表中的XML列,而且我似乎无法获得适合我特定用途的语法。我想要这样的东西:declarexSYS.XMLTYPE;beginx:=my_package.my_function();selectx.getclobval()fromx;--doesn'twork!end;如何在上面的代码中打印出XML类型变量'x'的值? 最佳答案
是否可以将javax.xml.bind.annotation.XmlType转换为XML的字符串表示形式?例子:以下Req类来自第三方库,因此我无法覆盖toString()方法。@javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)@javax.xml.bind.annotation.XmlType(name="req",propOrder={"myDetails","customerDetails"})publicclassReq{...}在我的应用程序中,我只