问题标签 [xmlbeans]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xsd - 使用 XMLBeans 为空元素生成结束标记
我有以下 xsd :
如果我只为名称设置值,即
然后 XMLBeans 生成以下 xml:
但我需要生成以下类型的 xml,这意味着关闭</>
所有未在程序中设置值的元素的标签:
<address/>
好吧,如果我设置一个空字符串即生成 XMLBeansemp.setAddress("");
有什么方法可以使用 XMLBeans 来满足这样的要求,而无需设置空字符串。
而且,我们无法为 int 类型的元素 age 设置空字符串。
任何帮助,将不胜感激。
java - XMLBeans bounded Atom,设置入口内容
这是一个与此类似的问题:xmlbeans - set content of a complex type但不完全相同。我想要做的是在 atom 提要中设置 contentEntry 的内容。
这是 contentType 的 atom xsd 定义,即 atom 提要中条目的内容标记。
通过 xmlbean 的 scomp 编译后,我得到了一个不错的 jar 文件,它使我能够执行以下操作。
这被输出为
我真的不想与 atom 的官方(我能找到的官方)xsd 混淆,但我缺少一种能够设置 curContent 的实际文本表示的方法。只有其他的 set 函数是 set(XmlObject object) 和 setNil()。
我怎样才能改变它,以便我可以得到:
谢谢
xml - 如何使用 XMLBeans 删除 xsi:nil="true
在使用 XMLBeans 生成 XML 时,
xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
被插入。
例如 :
但我只需要<element/>
请建议。提前致谢。
java - 在这个用例中应该使用哪种设计模式?
我正在开发应用程序,我必须在某些 xmlbean 对象上编写自定义验证,基本上是为了查看具有正确值的某某字段是否存在。现在这些对象是从 diff 模式生成的。我正在使用 xmlbeans 提供的针对模式的验证,但是在进一步处理这些对象之前,还需要对这些对象进行更多的业务验证。有人可以为此用例建议任何设计模式吗?
谢谢
java - 将 Object -HashMap 转换为 XMLObject
我创建了一个以 HashMap 作为参数的 web 服务。我使用 XMLBeans 生成了存根/骨架,我正在尝试设置参数中的值并将其传递给 web 服务。
问题是:我有 HashMap 或 List 并且 API 期望它是 XMLObject 是否有任何转换实用程序可用于将我的值转换为 XMLObject?
java - 在 Web 服务中返回 java.util.List
我尝试在 eclipse 中创建一个自下而上的 Java bean Web 服务,我需要返回一个java.util.List
所以我在服务器上有这个
这在客户端
所以getBook()
返回我想要的对象Book
但getBooks()
返回XmlObject
而不是List<Book>
有什么简单的方法可以得到 aList<Book>
而不是 a XmlObject
?还是将 转化XmlObject
为List<Book>
?
java - XMLBeans get_store() 方法返回 null
我正在开发一个带有 XMLBeans 绑定的基于 Axis2 的 WebServices。我已经使用 WSDL2Java 生成器生成了代码,并尝试使用请求中设置的示例值对其进行测试。
在其中一种 setter 方法(自动生成的代码)中,我找到了以下代码。该方法get_store()
返回一个空值,因此我得到一个 NullPointerException。
我尝试谷歌找到解决方案,发现类似问题没有指定解决方案。
这个问题有解决办法吗??请帮助我
xml - 有没有一种使用 XMLBeans 进行 XML 属性比较的简单方法?
假设一个 bean 具有一组分层属性,XMLBeans 是否提供了一种方法来确定该 bean 是否具有这些属性子集的某些值?我能想出的解决这个问题的最佳方法是创建另一个具有您所寻找的属性和值集的 bean,并查看您的 bean 是否包含与您设置的相同的属性(以及这些属性的值) .
例如,假设您有一个 XML 人员列表,并且您想要查找棕色头发的人员。你可以这样设置一个bean:
并在您的列表中找到基本上包含该 bean 作为子集的项目。我可以通过递归迭代测试 bean 的属性层次结构(在本例中为棕色头发的人)来做到这一点,并检查列表中的每个 bean 是否包含该属性,并具有该属性的值。但这似乎是一个常见的任务,我想知道 XMLBeans 库是否已经提供了这个功能。
java - 将 minOccurs 设置为 0 的 XSD 日期类型现在的值为 "
如果我没有提供足够的信息,请提前原谅我,这是我看到并负责修复的问题,但我最初并没有亲自编写此代码(做过的人已经继续前进)。
我们正在使用 Apache XMLBeans 从一组 XSD 中生成一些 Java 类。然后,我们的 Web 应用程序会生成一个
如果我没有提供足够的信息,请提前原谅我,这是我看到并负责修复的问题,但我最初并没有亲自编写此代码(做过的人已经继续前进)。
我们正在使用 Apache XMLBeans 从一组 XSD 中生成一些 Java 类。然后,我们的 Web 应用程序会生成一个 Web HTML 表单来创建这些类的实例(或修改现有类的字段)。将其置于某种背景下;我们的一个 XSD 代表一个人。然后,我们可以使用我们的通用表单生成代码为用户生成一个 HTML 表单,以提供有关特定人员的信息。有许多与一个人相关的日期属性,例如出生日期。
我最近对项目的结构和依赖项进行了一些重大更改,但没有与生成这些 Java 类和 HTML 表单的代码直接相关。在进行这些更改之前,一切正常,现在,所有日期字段都有一个值,<xml-fragment uid="theAttributesId"/>
如果它们没有设置任何值。在 XSD 中,这些日期属性/元素的 minOccurs 属性设置为 0(因此应该是可选的)。如果我将每个属性 nillable 设置为 true,则可能不再存在。
花了一些时间调试后,我可以看到空日期值不是有效值,除非 nillable 为真。在 XMLBeans 类XmlObjectBase
中,验证方法为空日期字段返回 false。我不明白发生了什么变化,为什么现在需要 nillable 属性。依赖关系发生了变化,但比较 XMLBean 版本后,它们看起来都一样:
我们的 Web 应用程序的 lib 目录中有三个 jar,其中包含 XmlObjectBase 类;tika-app-0.7、xbeans-2.2.0 和 xmlBeans-2.3.0。所有版本都与大规模重组之前的lib目录相同。XSD 文件没有改变。有什么?
到目前为止,我发现以下链接有助于我的调查:
- https://issues.apache.org/jira/browse/XMLBEANS-220
- nillable 和 minOccurs XSD 元素属性
- http://www.dimuthu.org/blog/2008/08/18/xml-schema-nillabletrue-vs-minoccurs0/
- http://www.ibm.com/developerworks/xml/library/ws-tip-null/index.html
我已经接受,也许在没有大量时间的情况下解决这个问题的唯一现实方法是添加 nillable 属性。但是,我并不热衷于为 XSD 中的所有日期元素添加它。幸运的是,我定义了 3 种日期基类型,所有日期元素都是。我尝试将基本类型的默认 nillable 属性修改为 true ,但没有成功:
原始的 NonFutureDateBaseType:
(其中cr:nonFutureDateBaseType
是一个简单类型,具有标准 XSD 日期类型的限制)
新尝试的 nillable 默认为 true:
任何人对上述为什么不起作用有任何建议吗?或者我还应该研究什么?
对冗长的问题(以及缺乏格式 - 由于某种原因我没有 SO 图像/图标)表示歉意,并在此先感谢。
更多细节编辑
我刚刚在数据库中查看了代表一个人的 XML。我有这样的事情:
然后 BIRTH_DATE 的值计算为<xml-fragment uid="theAttributesId"/>
。什么?从我读到的应该意味着它评估为''。嗯……
另一个编辑:
我已经厌倦了这个问题,所以开始研究最新的网络应用程序和运行早期代码库的应用程序之间的差异。我在调试时看到的主要区别是:
新代码库:调用 java.beans.PropertyEditorSupport.getValue() 返回
<xml-fragment uid="12"/>
旧代码库:调用 java.beans.PropertyEditorSupport.getValue() 返回
<xml-fragment uid="12" xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
在生成表单的 JSP 和值的设置器之间,有很多 Spring 类。新代码库和旧(工作)代码库之间的主要区别在于 Spring 版本。
新代码库依赖于 spring-context-3.0.5.RELEASE,而旧代码库依赖于 spring-context-2.5.6.SEC02。
任何建议将不胜感激!
Nillable 不是你自己实现的东西。它是 XSD 定义的一部分。
xsi:nil="true"
用于表示字段的实例没有值。
nillable="true"
用于指示字段的架构定义不允许值。
还是我错过了重点?
如果我没有提供足够的信息,请提前原谅我,这是我看到并负责修复的问题,但我最初并没有亲自编写此代码(做过的人已经继续前进)。
我们正在使用 Apache XMLBeans 从一组 XSD 中生成一些 Java 类。然后,我们的 Web 应用程序会生成一个
如果我没有提供足够的信息,请提前原谅我,这是我看到并负责修复的问题,但我最初并没有亲自编写此代码(做过的人已经继续前进)。
我们正在使用 Apache XMLBeans 从一组 XSD 中生成一些 Java 类。然后,我们的 Web 应用程序会生成一个 Web HTML 表单来创建这些类的实例(或修改现有类的字段)。将其置于某种背景下;我们的一个 XSD 代表一个人。然后,我们可以使用我们的通用表单生成代码为用户生成一个 HTML 表单,以提供有关特定人员的信息。有许多与一个人相关的日期属性,例如出生日期。
我最近对项目的结构和依赖项进行了一些重大更改,但没有与生成这些 Java 类和 HTML 表单的代码直接相关。在进行这些更改之前,一切正常,现在,所有日期字段都有一个值,<xml-fragment uid="theAttributesId"/>
如果它们没有设置任何值。在 XSD 中,这些日期属性/元素的 minOccurs 属性设置为 0(因此应该是可选的)。如果我将每个属性 nillable 设置为 true,则可能不再存在。
花了一些时间调试后,我可以看到空日期值不是有效值,除非 nillable 为真。在 XMLBeans 类XmlObjectBase
中,验证方法为空日期字段返回 false。我不明白发生了什么变化,为什么现在需要 nillable 属性。依赖关系发生了变化,但比较 XMLBean 版本后,它们看起来都一样:
我们的 Web 应用程序的 lib 目录中有三个 jar,其中包含 XmlObjectBase 类;tika-app-0.7、xbeans-2.2.0 和 xmlBeans-2.3.0。所有版本都与大规模重组之前的lib目录相同。XSD 文件没有改变。有什么?
到目前为止,我发现以下链接有助于我的调查:
- https://issues.apache.org/jira/browse/XMLBEANS-220
- nillable 和 minOccurs XSD 元素属性
- http://www.dimuthu.org/blog/2008/08/18/xml-schema-nillabletrue-vs-minoccurs0/
- http://www.ibm.com/developerworks/xml/library/ws-tip-null/index.html
我已经接受,也许在没有大量时间的情况下解决这个问题的唯一现实方法是添加 nillable 属性。但是,我并不热衷于为 XSD 中的所有日期元素添加它。幸运的是,我定义了 3 种日期基类型,所有日期元素都是。我尝试将基本类型的默认 nillable 属性修改为 true ,但没有成功:
原始的 NonFutureDateBaseType:
(其中cr:nonFutureDateBaseType
是一个简单类型,具有标准 XSD 日期类型的限制)
新尝试的 nillable 默认为 true:
任何人对上述为什么不起作用有任何建议吗?或者我还应该研究什么?
对冗长的问题(以及缺乏格式 - 由于某种原因我没有 SO 图像/图标)表示歉意,并在此先感谢。
更多细节编辑
我刚刚在数据库中查看了代表一个人的 XML。我有这样的事情:
然后 BIRTH_DATE 的值计算为<xml-fragment uid="theAttributesId"/>
。什么?从我读到的应该意味着它评估为''。嗯……
另一个编辑:
我已经厌倦了这个问题,所以开始研究最新的网络应用程序和运行早期代码库的应用程序之间的差异。我在调试时看到的主要区别是:
新代码库:调用 java.beans.PropertyEditorSupport.getValue() 返回
<xml-fragment uid="12"/>
旧代码库:调用 java.beans.PropertyEditorSupport.getValue() 返回
<xml-fragment uid="12" xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
在生成表单的 JSP 和值的设置器之间,有很多 Spring 类。新代码库和旧(工作)代码库之间的主要区别在于 Spring 版本。
新代码库依赖于 spring-context-3.0.5.RELEASE,而旧代码库依赖于 spring-context-2.5.6.SEC02。
任何建议将不胜感激!
Nillable 不是你自己实现的东西。它是 XSD 定义的一部分。
xsi:nil="true"
用于表示字段的实例没有值。
nillable="true"
用于指示字段的架构定义不允许值。
还是我错过了重点?
java - xmlbeans.xml 异常。非法 XML 字符 0x0
我通过 System.Text.UTF8Encoding() 将字符串转换为字节,在 C# 中创建了一个 xml 文档。然后我将它发送到我的 java 程序,以便 xmlbeans 通过 TCP 连接进行解析。无论我尝试什么,我都会收到此错误:org.apache.xmlbeans.XmlException: error: Illegal XML character: 0x0 org.apache.xmlbeans.impl.piccolo.io.IllegalCharException: Illegal XML character: 0x0
我试图清理 C# 端的字符串,但它没有找到 0x0 的任何实例。我已经循环并输出了我在 java 端收到的 byte[] 中的每个字节,并且绝对没有任何内容具有 0x0。
这是我的java端代码:
有谁知道我可能做错了什么?我可以提供更多信息吗?