2010-07-06 1 views
0

Я создал программу на C++, которая анализирует файл и выгружает некоторые данные в html-файл. Выход следующим образом:HTML-страница показывает данные, которых нет в файле

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head><title>Block 0xa8</title></head> 
<body> 
<h1>Block 0xa8</h1> 
<table> 
    <tr> 
     <td>02  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>b0  </td> 
     <td>75  </td> 
     <td>05  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td>00  </td> 
     <td><td> </td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>u  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
     <td>.  </td> 
    </tr> 
</table> 
</body> 
</html> 

Если открыть эту страницу в браузере, вы увидите одну единственную точку перед столом. Эта точка является случайным символом и появляется для каждой строки. Я не хочу этого персонажа - как я могу избавиться от него? Что я делаю не так? (Протестировано с помощью Firefox, IE, Chrome).

ответ

2

Поскольку у вас есть ошибка синтаксиса (<td> s не может быть непосредственно вложенным):

<td>00  </td> 
<td><td> </td>.  </td>  // <-- here 
<td>.  </td> 

DOM-парсер исправляет это и ставит точку перед столом, потому что он не знает, куда девать его;)

Проверьте свое приложение на C++ и исправьте это.

+0

thx, я был слепым. –

0

У вас есть непарные теги в этой строке:

<td><td> </td>.  </td> 

Вы должны изменить его следующим образом:

<td></td> <td>.  </td> 

Существует, вероятно, ошибка в синтаксический анализатор, который не принимает во внимание nil.

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