В конечном счете, похоже, что код Python вызовет xmlNodeDumpOutput в библиотеке libxml2.
К сожалению, не похоже, что есть какой-либо способ настроить это, чтобы управлять представлением таких объектов. Если посмотреть на entity.c в xmlEncodeEntitiesReentrant, символы <> и & жестко закодированы, чтобы всегда использовать соответствующий объект XML, поэтому, похоже, нет способа заставить его использовать числовые значения.
Если вам это нужно, вам, вероятно, придется выполнить еще одну передачу строки и вручную выполнить «outputString.replace("<","<")
» для этих символов.