2016-07-16 2 views
0

Я создал дерево XML, используя libxml2 C. Например, мой выходУдалить белое пространство между XmlDocument и корневым узлом в libxml2 с

<?xml version="1.0" encoding="UTF-8"?>` 

<Ocean>         

    <Sea>Pacific</Sea> 

    <Lake>Tahoe</Lake> 

</Ocean> 

Я использовал xmlDocDumpMemoryEnc(....) для удаления узла отступа, а затем мой выход

<?xml version="1.0" encoding="UTF-8"?> 

<Ocean><Sea>Pacific</Sea><Lake>Tahoe</Lake></Ocean> 

Однако я хочу, чтобы мой выход как

<?xml version="1.0" encoding="UTF-8"?><Ocean><Sea>Pacific</Sea><Lake>Tahoe</Lake></Ocean> 

Я искал libxm l2 для удаления пробела между xmldocument и корневым узлом и не обнаружено. Я очень ценю любую помощь в этом.

ответ

1

В то время как not mandated по стандарту, обычно существует новая строка после объявления XML.

libxml2 имеет эту новую строку hardcoded, так что вам остается либо с libxml2 пропустить декларацию XML, либо добавить ее самостоятельно, либо вывести ее, а shifting это право перезаписать разрыв строки.

+0

Или, если это новая строка, а не пустое место, которое вас беспокоит, замените строку с символом пробела. – a3f

Смежные вопросы