Простой способ удалить заголовки из файлов XML - PullRequest
3 голосов
/ 21 апреля 2010

Мне нужно удалить не XML-теги из файла, созданного другой программой.

Файл примерно такой:

Executing Command - Blah.exe ...
-----Command Output-----
HTTP/1.1 200 OK
Connection: close
Content-Type: text/xml

<?xml version="1.0"?>
<testResults>
  <finalCounts>
    <right>7</right>
    <wrong>4</wrong>
    <ignores>0</ignores>
    <exceptions>0</exceptions>
  </finalCounts>
</testResults>

Exit-Code: 15

Как легко удалить не-XML текст в Java?

Ответы [ 2 ]

8 голосов
/ 21 апреля 2010
// getContent() returns the complete text to strip.
//
String s = getContent();

// Find the start of the XML content using the <?xml prefix.
//
int xmlIndex = s.indexOf( "<?xml" );

// Strip the non-XML header.
//
s = s.substring( xmlIndex );

// Find the last closing angle-bracket; should indicate end of the XML.
//
xmlIndex = s.lastIndexOf( ">" );

// Strip everything after the closing angle-bracket.
//
s = s.substring( 0, xmlIndex );
4 голосов
/ 21 апреля 2010

Это похоже на прямой вывод HTTP ... поэтому простое сканирование первых двух последовательных перевода строки (возможно, с возвратом каретки перед ними) даст вам конец префикса, который вы хотите отфильтровать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...