내가 XML 프로그래밍의 안돼서 XML로 Java와 함께 JAXP를 사용하여 이런 종류의 일을 할 수 있다는 것을 알게되었습니다. 내 응용 프로그램은 인터페이스를 사용하여 일부 데이터를 검색하고 이전에 작성한 DTD와 관련하여 XML 파일에 데이터를 작성해야합니다. JAXB 시리얼, 나는, (DTD 파일에 대한)</p> <p>I를 잘 형성 유효한 XML 파일에 일부 자바 객체를 작성하는 것을 시도하고
나는이 작업에 대한 몇 가지 정보를 찾기 위해 노력하지만 실패했습니다.는 어떻게이 작업을 수행해야 하죠?
편집 : 나는 (A XML 스키마로 전환 할 수 없습니다) DTD를 고수해야한다는 것을 나는 자바 viceversa에를 XML로 개체, 그리고 FROM 갈 필요가 있습니다. Duplicated Answer가 내 질문에 적용되지 않는 것으로 나타났습니다. DTD에 어떤 도움이 될 수있는 경우
모르겠지만, 여기 있습니다.
DTD
<!ELEMENT AIRCRAFTS (AIRCRAFT+)>
<!ELEMENT AIRCRAFT (MODEL, SEATS)>
<!ELEMENT MODEL (#PCDATA)>
<!ELEMENT SEATS (SEAT+)>
<!ELEMENT SEAT (#PCDATA)>
<!ELEMENT FLIGHTS (FLIGHTREADER+)>
<!ELEMENT FLIGHTREADER (DEPARTURE, TIME, DESTINATION)>
<!ELEMENT DEPARTURE (#PCDATA)>
<!ELEMENT TIME (HOUR, MINUTE)>
<!ELEMENT HOUR (#PCDATA)>
<!ELEMENT MINUTE (#PCDATA)>
<!ELEMENT DESTINATION (#PCDATA)>
<!ELEMENT FLIGHTINSTANCES (FLIGHTINSTANCEREADER+)>
<!ELEMENT FLIGHTINSTANCEREADER (AIRCRAFTID, DATE, DELAY, DEPARTUREGATE, FLIGHTREADERID, PASSENGERREADER+, STATUS)>
<!ELEMENT AIRCRAFTID (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT DELAY (#PCDATA)>
<!ELEMENT DEPARTUREGATE (#PCDATA)>
<!ELEMENT FLIGHTREADERID (#PCDATA)>
<!ELEMENT PASSENGERREADER (NAME, FLIGHTINSTANCEID, SEATID, BOARDED)>
<!ELEMENT FLIGHTINSTANCEID (#PCDATA)>
<!ELEMENT BOARDED (#PCDATA)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT SEATID (#PCDATA)>
<!ELEMENT STATUS (#PCDATA)>
<!ATTLIST FLIGHTINSTANCEREADER id ID #REQUIRED>
<!ATTLIST FLIGHTREADER id ID #REQUIRED>
<!ATTLIST AIRCRAFT id ID #REQUIRED>
이 [않음 (http://stackoverflow.com/questions/10312159/generate-java-classes-with-jaxb-from-a-dtd-file-how-can-i-modify-the-dtd# answer-14927126) 귀하의 질문에 대한 답변입니다. 내가 알아야 할 것은, 나는 이것을 최근에 시도했고 효과가 있었다. –
답장을 보내 주셔서 감사합니다. 그러나 질문이 중복되어 있다고 생각하지 않습니다. 연결된 링크가 내 질문에 답하지 않고 제약 조건을 충족시키지 못합니다. – Ivano
내가 제공 한 대답 링크를 통해 Java 개체를 생성 할 수 있습니다. DTD ('bin' 폴더에 JDK와 함께 제공되는'xjc' 사용). XML 스키마는 생성하지 않지만 JAXB를 사용하여 Java Object에서 XML을 생성 할 수 있습니다. DTD에서 스키마를 작성하는 것은 힘들 수 있습니다. –