Ich denke, Sie denken an zu niedrig von einem Niveau. XML ist nicht so sehr "binär" wie es eine Abstraktion ist, sondern binär. Wenn Sie XML-Snippets ersetzen wollen, wenn sie auf Ihre Zeile stoßen, müssen Sie in den Payload-Teil der Pakete hineinschauen und nach XML-Mustern suchen. Eine einfache Möglichkeit besteht darin, nach dem Neuerstellen der Bytes einen regulären Ausdruck zu verwenden Inhalt vorübergehend.
Sobald Sie diese Suche und Sie haben abgestimmt, was Sie wollen, können Sie ersetzen, was Sie wollen ersetzen und erneut senden.
Der schwierige Teil davon ist, dass Sie wahrscheinlich einige Eingaben zwischenspeichern müssen, bevor es Ihren Computer verlässt, so dass Sie in der Lage sind, den Anfang und das Ende dessen zu finden, wonach Sie suchen. Was das schwierig macht ist, dass Sie oft nicht wissen, was den "Anfang" und das "Ende" einer Datennutzlast ausmacht.
Könnten Sie bitte genauer sein? Wollen Sie eine Java-Klasse schreiben, die einen Stream aufnimmt, einen Stream bereitstellt und zwischendurch die Daten manipuliert? BTW: XML ist reiner Text, keine binären Daten. –