Datagrampacket к xml

Я пытаюсь проанализировать Мыло сообщение ProbeMatch с XMLPullParser. Я получаю это через Многоадресную передачу UDP. Я использую следующий код для получения его.

byte[] buf = new byte[1900];
DatagramPacket packet = new DatagramPacket(buf, buf.length);

mSocket.receive(packet);

// Damn ugly....
String data = new String(packet.getData())

Если я преобразовываю байт [] для Строкового представления Синтаксического анализатора, не ест его... Есть ли еще изящные способы сделать это?

Когда я печатаю xml (как Строка), я получаю неиспользованные байты в конце Строки:

</s12:Envelope>À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?À?
1
задан JustFogMaxi 17 May 2010 в 13:11
поделиться

1 ответ

Во-первых, я думаю, вы захотите построить String следующим образом:

String data = new String(packet.getData(), 
                         packet.getOffset(), 
                         packet.getLength());

Что касается этого быть лучшим способом. AIUI на самом деле нет, хотя может быть сторонний API, который немного упрощает заполнение / опорожнение датаграмм, поскольку вся упаковка байтов очень неудобна.

2
ответ дан 3 September 2019 в 00:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: