Я ищу создание объектов XML-документов на Java и сериализацию их в байтовый массив (до отправки их по TCP-соединению). В настоящее время у меня есть код, который выглядит следующим образом:
public byte [] EncapsulateThingy( ThingyType thingy )
{
parser.reset(); // parser is a pre-existing DocumentBuilder object
Document doc = parser.newDocument();
doc.appendChild( doc.createElement("Thingy") );
// ... add nodes to doc to represent thingy
ByteArrayOutputStream outputStream = new ByteArrayOutputStream( 8192 );
//
// Missing: Write doc to outputStream with xml version 1.0 and UTF-8
// encoding.
//
return outputStream.toByteArray();
}
Документация Sun Java содержит информацию о наборе интерфейсов, который, кажется, начинается с DomImplementationLS для загрузки и сохранения XML, который я мог бы использовать для удобного заполнения отсутствующего фрагмента выше. Но я не могу понять, как создать объект, который реализует DomImplementationLS.
Моя конечная цель - сериализовать и десериализовать очень простые объекты в XML, закодированные в байтовые массивы, чтобы я мог передавать их по сети. Я заинтересован в том, чтобы облегчить решение, чтобы оно могло обрабатывать сообщения с высокой пропускной способностью.
Я заинтересован в альтернативных решениях, если они позволяют мне точно указать структуру XML, которая будет отправлена.
Я, конечно, должен обеспечить десериализацию при использовании этих сообщений XML, но в Интернете доступно множество документации и итоговых данных для чтения XML, но не так много для их написания.
Я бы предпочел решения, включенные в Java 6, без добавления пакетов.