1

Javaクラスを生成するためにXJCを使用して処理したXSDファイルがあります。

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/Integratipn_Zip" xmlns:tns="http://www.example.org/Integratipn_Zip" elementFormDefault="qualified">

<element name="saveArchiveRequest">
    <complexType>
        <attribute name="identifiant" type="string"></attribute>
        <attribute name="idArchive" type="string"></attribute>
        <attribute name="emplacement" type="anyURI"></attribute>
    </complexType>
</element>

<element name="getArchiveRequest">
    <complexType>
        <attribute name="identifiant" type="string"></attribute>
        <attribute name="idArchive" type="string"></attribute>
    </complexType>
</element>
</schema>

XML メッセージを読み取り、それを生成された Java クラスの 1 つに変換したいと考えています。ただし、この方法を使用しない場合:

if (xmlMessage.contains("saveArchiveRequest")){
            JAXBContext jaxbContext = JAXBContext.newInstance(SaveArchiveRequest.class);
            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            SaveArchiveRequest object = (SaveArchiveRequest) jaxbUnmarshaller.unmarshal(reader);
            return object;
        } else if (xml.contains("getArchiveRequest")) {
            JAXBContext jaxbContext = JAXBContext.newInstance(GetArchiveRequest.class);
            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            GetArchiveRequest object = (GetArchiveRequest) jaxbUnmarshaller.unmarshal(reader);
            return object;
        }

XMLメッセージの内容を調べずにこれを行う方法が存在し、JAXBフレームワークにxmlメッセージから適切なオブジェクトへの直接マッピングをさせるか、おそらく外部マッピングファイルを使用して、このようなことを行う方法が存在することを私は知っています。

誰か助けてくれませんか?

ありがとう。

4

1 に答える 1