Det finns säkert några väldigt enkla sätt att göra detta på, men när jag skrev musikCube så gjorde jag en egen wrapper för att hantera detta på mitt egna sätt.
I princip går mina klasser ut på att man skapar en Socket mot servern (se rad 235 här), sen skapar man en doep.xml.Reader och en Writer som fungerar som kontinuerliga parsers/senders.
Kod:
java.net.Socket newSocket = new java.net.Socket("minserver",50000);
doep.xml.Reader reader = new doep.xml.Reader(this.socket.getInputStream());
// Vänta på specifik tag "tjohej"
doep.xml.ReaderNode tjohejNode=null;
if( (tjohejNode=reader.ChildNode("tjohej")) != null ){
// Loopa igenom alla noder som ligger i tjohej-noden
doep.xml.ReaderNode anyNode=null;
while( (anyNode=tjohejNode.ChildNode()) != null ){
// Kolla node-namn med anyNode.name och attribut med anyNode.attributes
}
}
doep.xml.Writer fungerar på liknande sätt.
Med som sagt så finns det antagligen enklare sätt, men koden är fri att användas om du vill (BSD style licens)