gpt4 book ai didi

java - 具有多个元素的 xml 的 JAXB Xml 架构

转载 作者:行者123 更新时间:2023-12-02 13:19:52 25 4
gpt4 key购买 nike

我有一个 xml shema 来编码和解码 xml。

现在我的问题:

我得到具有以下结构的 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<request id="2">
<body>
<adress type="pfad">
exsample/Barcode02
</adress>
<adress type="name">
Barcode02
</adress>
<adress type="nummer">
105
</adress>
</body>
</request>

有多个地址属性,每个属性的类型都不同。

我如何设置我的 shema,以便它接受这样的 xml 文件。目前看起来如下:

<xs:complexType name="eventType">
<xs:complexContent>
<xs:extension base="bt:bodyType">
<xs:sequence>
<xs:element ref="pdt:adress" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

提前致谢

迪米

最佳答案

有多种方法可以编写用于对 XML 文件进行建模的架构。因此给定的模式只是一个示例。
它定义并引用了几个名为 complexType 的项目。 s, 从而避免嵌套结构过深。
maxOccurs="unbounded"需要这样 一个<body>可以包含多个<adress>元素。

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="request" type="request" />

<xs:complexType name="request">
<xs:sequence>
<xs:element name="body" type="body" />
</xs:sequence>
<xs:attribute name="id" type="xs:int"/>
</xs:complexType>

<xs:complexType name="body">
<xs:sequence>
<xs:element name="adress" type="adress" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>

<xs:complexType name="adress">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="type" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>

</xs:schema>

关于java - 具有多个元素的 xml 的 JAXB Xml 架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43616171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com