- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
目前,JAXB 正在根据我指定的 xml 模式创建一个点类。但是,我更希望它使用现有的 java.awt.Point 类。对于我定义为使用和导入 java.awt.Point 的任何其他类型。
这是我的积分代码:
<xs:complexType name="point">
<xs:sequence>
<xs:element name="x" type="xs:int" />
<xs:element name="y" type="xs:int" />
</xs:sequence>
</xs:complexType>
这可能吗?
最佳答案
我不知道我的解决方案是否非常优雅,但我相信它会按您的要求工作。
考虑 Test
类,其属性 p
类型为 java.awt.Point
:
@XmlRootElement
public class Test {
@XmlElement
@XmlJavaTypeAdapter(PointAdapter.class)
public Point p;
}
类PointAdapter
如下:
class PointAdapter extends XmlAdapter<String, Point> {
@Override
public String marshal(Point v) throws Exception {
return String.format("%d;%d", v.x, v.y);
}
@Override
public Point unmarshal(String v) throws Exception {
String[] coords = v.split(";");
return new Point(Integer.parseInt(coords[0]), Integer.parseInt(coords[1]));
}
}
如果您不手动创建 Java 类,而是让它们由 xjc
生成,则也可以在模式中指定 XmlAdapter
;通过一个单独的绑定(bind)文件,您可以使用 xjc
的 -b
选项指定或嵌入到您的 XSD 中。我个人更喜欢第一种解决方案,因为它可以保持模式干净。因为我玩这个已经有一段时间了,所以我建议你引用 JAXB documentation (寻找 MyDatatypeConverter;这应该是最相关的部分)。
关于java - JAXB:设置 complexTypes 以使用现有的 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646007/
该XSD部分是从http://www.iana.org/assignments/xml-registry/schema/netconf.xsd获得的
我遇到了这个列表 W3C XML Schema: DOs and DON'Ts和说 DO NOT use complex types 的部分有点让我吃惊。 我在使用 时没有发现任何问题我不明白为什么
到一个简单的元素 type="xs:int"我想添加一个限制和一些属性。但是,我看到的唯一方法是分两步: 声明一个命名(全局)类型并将所有限制放在命名类型中 引用base中的命名类型的 并将属性添加到
我在架构中有以下内容: 一些解析器允许直接在元素中使用 PCDATA,而另一些则不允许。 XSD 推荐 (3.4.2)
我在以下类(class)中收到以下错误: 无法序列化 DataObjects.Ingredient 类型的成员“成分”。 XmlAttribute/XmlText 不能用于编码复杂类型。 关于为什么的
我想知道为什么不用写 我不能指定它是 xs:complexType 的元素属性吗?或者是否有 xs:superSecretThingIdontKnow
我最近更新到 Breezejs 1.4.2,运行自定义初始值设定项似乎存在问题。我的应用程序使用 Breeze 正确注册了 ctor 和初始化程序(我相信),但是当我从 Entity Framewor
当使用XML Schema声明一个complexType只有一个子元素时,以下三种方式都可以达到目的: 显然,sequence、choice
我有一个类似于此示例的 xml 文档(和复杂元素): 但是在我的 xml 中,我是先添加名字还是姓氏并不重要。所以我想删除“xs:sequence”部分,但我不
目前我使用的是 PHP 版本 5.4.16 和 NuSoap 0.95,我试过这个例子: here 它显示了这样的服务器代码; $server->wsdl->addComplexType( '
我刚刚读了一本关于网络服务的书,上面说有“RPC 风格的网络服务”和“文档风格的网络服务”。第二个是在 WSDL 序列和复杂类型中使用。我什么时候应该使用这种风格? 最佳答案 当您想要将联系人、消息或
我自动生成 XML 架构,生成的 xsd 文件是根据百叶窗设计模式创建的。现在我有很多复杂的类型,并且想减少它们的数量。有没有一种简单的方法可以确定两个复杂类型是否描述相同的限制? 这是一个向您展示我
我正在尝试使用包含以下 XSD 的 WCF 使用服务(用 Java 构建和托管) 当我从该服务请求数据时,出现以下错误: "Base64 sequence length (1) no
我对 EntityFramework 的 Code First 方法相当陌生,当我尝试创建引用实体类型的可重用复杂类型时遇到以下错误。 模型: class Bank { public int
我正在使用 Jdeveloper 12c。我正在尝试使用 complexType 作为在另一个 complexType 中键入另一个元素的引用。 Jdev 告诉我它找不到 AddressInfo 引用
我有这个 xsd,它有点糟糕,但我必须使用它来避免更改我正在编写的 servlet 的接口(interface)。请求-响应接口(interface)的 xsd 包含以下几行:
这
我有一个服务器 (SoapUI) 响应 WSDL 请求。 当发送测试请求时,我的服务器代码正在接收参数的列表,但我试图实现的是单个参数,复杂类型,例如: { ingredient_id => I
例子如下。请让我知道同名的副作用。我正在尝试从此 XSD 创建 Java 对象模型。
如何及时插入具有复杂类型的多个实体? 考虑以下几点: public class Entity { public Address Address { get; set; } } [ComplexTy
我是一名优秀的程序员,十分优秀!