[Java] Object => XML

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
is het ook mogelijk om van een willekeurig object xml code te maken en visa versa zonder dat je dat zelf moet proggen?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
JavaBeans in 1.4 kan je serializeren naar XML. Zie java.beans.XMLEncoder en java.beans.XMLDecoder:

http://java.sun.com/j2se/1.4/docs/api/java/beans/XMLEncoder.html

Hier nog een artikel daarover:

http://java.sun.com/products/jfc/tsc/articles/persistence3

Verder kan je ook gebruik maken van JAXB die uit een DTD klasses genereerst die automagisch een XML file die voldoet aan deze DTD inlezen. Ik gebruik dit zelf op sommige plekken en het werkt wel aardig. Voor prettige klassen heb je echter wel behoorlijk wat beperkingen in je DTD opbouw.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Mja... Dat is voor elk object natuurlijk anders.. Als je een String naar XML converteert is het natuurlijk anders dan als je een Hashtable naar XML converteert. Dus wat bedoel je hier eigenlijk mee ?? En wat wil je ermee ?? Als je puur Objecten van de ene app naar de andere wilt zenden over bv. TCP/IP , kijk dan eens naar ObjectOutputStream (te vinden in java.io) suc6

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Owh ja: linkje voor JAXB: http://java.sun.com/xml/ en dan even doorklikken.

Ik heb trouwens zitten denken dat het wel leuk zou zijn om Java klassen in te lezen via een getransformeerde XML file: transformeer een willekeurige XML file naar Java Beans XML formaat met behulp van XSL en lees hem daarna eenvoudig in met XMLDecoder. Andersom kan je Java Beans XML file transformeren naar een leuker formaat als je het wegschrijft.

Dat lijkt mij wel een leuke toepassing omdat het Java Beans formaat toch niet echt iets is wat je graag voor andere zaken dan Java Beans gebruikt.

JAXB is wat dat betreft een stuk fraaier.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
MisterJava: Dat is voor elk object natuurlijk anders..
Met behulp van de meta-informatie van Java Beans via reflectie is het juist mogelijk om dit heel generiek op te lossen :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Ow, je wilt alleen maar een overzicht van methoden en variabelen ?? Ja, dan kan het idd wel. :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
MisterJava: Ow, je wilt alleen maar een overzicht van methoden en variabelen ?? Ja, dan kan het idd wel. :)
Nee, gewoon een volledig object serializeren zodat het verzonden op opgeslagen kan worden. Ook de waarden worden opgeslagen van de properties. Kijk maar eens in dat docje wat ik hierboven link.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op woensdag 24 oktober 2001 17:20 schreef MisterJava het volgende:
Mja... Dat is voor elk object natuurlijk anders.. Als je een String naar XML converteert is het natuurlijk anders dan als je een Hashtable naar XML converteert. Dus wat bedoel je hier eigenlijk mee ?? En wat wil je ermee ?? Als je puur Objecten van de ene app naar de andere wilt zenden over bv. TCP/IP , kijk dan eens naar ObjectOutputStream (te vinden in java.io) suc6
Het gaat niet zozeer om objecten door te geven, maar om ze te kunnen bewaren. En in een xml document kun je wel editen (is misschien nodig) en in een geserialized object niet.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op woensdag 24 oktober 2001 17:28 schreef mbravenboer het volgende:

[..]

Nee, gewoon een volledig object serializeren zodat het verzonden op opgeslagen kan worden. Ook de waarden worden opgeslagen van de properties. Kijk maar eens in dat docje wat ik hierboven link.
Precies.
Pagina: 1