Forum » Programiranje » java + xml
java + xml
l0g1t3ch ::
Imam neko client server aplikacijo, ki sedaj komunicira tako, da se med strežnikom in klientom prenašajo ukazi ter podatki kot navaden tekst. Stvar sicer deluje vendar se mi sedaj ko je število raznih ukazov/sporočil močno narastlo zdi, da bi bilo pametno to predelat ne neko bolj strukturirano/pregledno obliko sporočil.
Zamisliv sem si da bi komunikacija potekala preko XML sporočil. Client tvori neko xml sporočilo le tega pošlje strežniku, ta ga sparsa
in naredi kar je potrebno ter rezultat spet vrne kot xml sporočilo.
Problem je pa v tem, da kar se jave tiče nimam pojma kako delati z xml-jev, z brskanjem po netu pa postajam samo še bolj zmeden saj ne najdem nobenga dobrga tutoriala, vsa zadeva okol xml-ja pa mi zgleda strašno zmedena. Kolikor sm uspel ugotoviti je za tole kar rabim bolj primeren DOM parser kot pa SAX.
Če ima kdo kak dober primer kako se tvori XML in le tega pošlje preko socketov ter na drugi strani sparsa bi mu bil več kot hvaležn.
Hvala
Zamisliv sem si da bi komunikacija potekala preko XML sporočil. Client tvori neko xml sporočilo le tega pošlje strežniku, ta ga sparsa
in naredi kar je potrebno ter rezultat spet vrne kot xml sporočilo.
Problem je pa v tem, da kar se jave tiče nimam pojma kako delati z xml-jev, z brskanjem po netu pa postajam samo še bolj zmeden saj ne najdem nobenga dobrga tutoriala, vsa zadeva okol xml-ja pa mi zgleda strašno zmedena. Kolikor sm uspel ugotoviti je za tole kar rabim bolj primeren DOM parser kot pa SAX.
Če ima kdo kak dober primer kako se tvori XML in le tega pošlje preko socketov ter na drugi strani sparsa bi mu bil več kot hvaležn.
Hvala
tilnik ::
Zdravo.
Poglej si Apache XML projekt.
Z njegovo pomočjo boš lahko pretvarjal XML v java objekte in obratno. Le te boš pa lahko brez težav pošiljal preko TCP/UDP protokola.
Lp!
Poglej si Apache XML projekt.
Z njegovo pomočjo boš lahko pretvarjal XML v java objekte in obratno. Le te boš pa lahko brez težav pošiljal preko TCP/UDP protokola.
Lp!
Zgodovina sprememb…
- spremenil: tilnik ()
kopernik ::
Poglej še json, ki ni tako obilen kot xml, knjižnic pa imaš tudi kar nekaj na voljo. Obenem ga lahko tudi lepo bereš (kot xml), kar prav pride pri debugiranju.
mspiller ::
Pa se en link. Na zelo preprost nacin kako delati z xml preko POJO (plain old java object). Dela pa z native javo (nobenih dodatnih knjiznic za jre 1.6).
Zgodovina sprememb…
- spremenil: mspiller ()
l0g1t3ch ::
Tkole sm pol resu stvar. 2 metodi, ena pretvarja DOM objekt v string druga pa obratno. Stringe pa enostavno pošiljam preko socketov.
Meni se stvar zdi OK, vase mnenje ? Mogoc komu se pride prov.
//xml pretvorimo v string
public static synchronized String domToStr(Document doc) throws Exception
{
String res = null;
DOMSource domSource = new DOMSource(doc); //vir DOM modela
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.transform(domSource, result);
res = writer.toString();
return res;
}
//string, ki predstavlja XML prevori v DOM objekt
public static synchronized Document strToDom(String xml) throws Exception
{
Document doc = null; //xml dokument kot DOM objekt
if( xml != null)
{
DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = fact.newDocumentBuilder(); // Graditelj dokumentov
doc = builder.parse( new InputSource( new StringReader( xml ) ) );
doc.setXmlStandalone(true);
}
return doc;
}
Meni se stvar zdi OK, vase mnenje ? Mogoc komu se pride prov.
//xml pretvorimo v string
public static synchronized String domToStr(Document doc) throws Exception
{
String res = null;
DOMSource domSource = new DOMSource(doc); //vir DOM modela
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.transform(domSource, result);
res = writer.toString();
return res;
}
//string, ki predstavlja XML prevori v DOM objekt
public static synchronized Document strToDom(String xml) throws Exception
{
Document doc = null; //xml dokument kot DOM objekt
if( xml != null)
{
DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = fact.newDocumentBuilder(); // Graditelj dokumentov
doc = builder.parse( new InputSource( new StringReader( xml ) ) );
doc.setXmlStandalone(true);
}
return doc;
}
l0g1t3ch ::
P.S. Kako za vraga tu na slo-techu prilepim kodo. Če uporabim gumb tamle zgoraj mi pri postanje zatezi da imam nepravilne tage. Meni se zdi tole mal lame narjen al je kak fora ?
Quikee ::
Ročno moreš napisat:
[st.koda c]
koda...
[/st.koda]
;)
[st.koda c]
koda...
[/st.koda]
.... public static void main() { List<String> strings = new ArrayList<String>(); } ...
;)
GaPe ::
Dobra knjižnica za delo z xml-ji in xml shemami je http://www.castor.org/. Najprej si narediš xml shemo in s pomočjo castorja generiraš java razrede (modele). Za tutorial glede xml-ja in shem si poglej http://www.w3schools.com/xml/default.as...
Lp
Lp
Don't steal! The government hates competition.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Davčne blagajne (strani: 1 2 3 4 … 24 25 26 27 )Oddelek: Programiranje | 332599 (72602) | Macketina |
» | Web services - Neveljavni karakterji v XMLOddelek: Programiranje | 4134 (3246) | boolsheat |
» | [Java]Shranjevanje/Branje nastavitev za povezavo z podatkovno bazoOddelek: Programiranje | 2627 (2401) | KernelPanic |
» | parsanje podatkov iz straniOddelek: Programiranje | 2002 (1797) | commissar |
» | [java] problem pri pretvarjanju datoteke v stringOddelek: Programiranje | 1126 (1016) | pujs |