[Java] Skriva ett protokol med XML i server-klient-program

Permalänk
Medlem

[Java] Skriva ett protokol med XML i server-klient-program

Hej,

Som titeln antyder så försöker jag skriva ett protokoll som ska användas i en server-klient-tillämpning. Protokollet kommer att vara så pass avancerat att jag inte vill använda ren text för kommunikationen men samtidigt så pass lätt att jag inte behöver använda något mer avancerat än XML. Min fråga är hur jag lättast genererar, skickar, tar emot och tolkar XML i ett server-klient-program skrivet i Java.

Permalänk
Medlem

Använd en XML-parser och skicka din XML som text direkt över en socket. Jag rekommenderar dock att du tar en titt på JSON eller YAML, två dataformat som är mindre avancerade än XML men troligtvis fullt tillräckligt för den data du vill överföra. Det finns bibliotek för dessa format till Java.

Permalänk
Medlem
Skrivet av You:

Använd en XML-parser och skicka din XML som text direkt över en socket. Jag rekommenderar dock att du tar en titt på JSON eller YAML, två dataformat som är mindre avancerade än XML men troligtvis fullt tillräckligt för den data du vill överföra. Det finns bibliotek för dessa format till Java.

Tack för svaret, jag ska ta en titt på JSON och YAML. Kan du tipsa om några bra bibliotek till Java för dessa?

Permalänk

För att skapa xml-dokument använder man, som tidigare sagts, en XML-parser, vilket finns inbyggt i Java. Såhär skapar man t.ex. ett xml-dokument:

DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document dom = docBuilder.newDocument(); dom.appendChild(dom.createElement("root"));

där root är namnet på root-taggen. Såhär bygger man vidare på dokumentet (dvs. man skapar alla child nodes, och bygger upp dokumentet "bakvänt", då man börjar med alla löv och slutar med stammen.

De bibliotek du måste ha lite koll på (tror det finns vissa klasser som är tvetydiga, men dessa skall du använda):

  • javax.xml.parsers.DocumentBuilder

  • javax.xml.parsers.DocumentBuilderFactory

  • org.w3c.dom.Document

  • org.w3c.dom.Element

Hoppas det är lite hjälp på vägen.

Visa signatur

Moderkort: Asus Z97-PRO CPU: Intel Core i7 4790K GPU: MSI GTX 980 Gaming
RAM: A-Data 2x8GB DDR3 Chassi: NZXT H400W

Permalänk
Medlem

Eller serializering av object?