powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как распарсить письмо из Outlook в HTML формате?
4 сообщений из 4, страница 1 из 1
Как распарсить письмо из Outlook в HTML формате?
    #39493913
I dont know
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток, ситуация такая: Есть письмо, отправленное из Outlook 2010 в HTML формате, нужно его распарсить, выдернув непосредственно текст сообщения. Собственно код письма:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="RU" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span lang="EN-US">NEW TEST SENDING! <o:p></o:p></span></p>
<p class="MsoNormal" style="mso-line-height-alt:5.0pt"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU">---</span><span style="font-size:12.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-line-height-alt:5.0pt"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU">у ХЧБЦЕОЙЕН
</span><span style="font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-line-height-alt:5.0pt"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU">пМЙЖЙТП лЙТЙММ</span><span style="font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-line-height-alt:5.0pt"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU">ПФДЕМ ТБЪЧЙФЙС Й УПРТПЧПЦДЕОЙС уьд злх фп гйффп З. фАНЕОШ</span><span style="font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-line-height-alt:5.0pt"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;color:navy;mso-fareast-language:RU">Ф. (3452)566-060<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>





Код: pascal
1.
2.
3.
4.
html = createObject( "Msxml2.DOMDocument.6.0" /*"MSXml.DomDocument"*/)
html.validateOnParse = false
html.async = false 
html.loadXML(/* тест письма, тот что выше */)


Но при проверке кода ошибки имею такое сообщение:

Код: xml
1.
2.
3.
4.
5.
6.
Error: Тег конца "head" не соответствует тегу начала "meta".

Code: -1072896659
Line: 44
Linepos: 3
Str: </head>



Я так понимаю, что тег <meta> должен иметь закрывающую скобку, типа </meta> или хотя бы просто </>, но в коде письма, формируемом Outlook его нет. Это правильно или это особенность outlook? Можно ли как-нибудь обойти проверку на эти теги при парсинге, чтобы документ рапспарсился и я мог его дальше дербанить стандартными методами DomDocument?
...
Рейтинг: 0 / 0
Как распарсить письмо из Outlook в HTML формате?
    #39494251
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не XML документ и, соответственно, XML парсеры его парсить не будут. Вам нужен HTML парсер. Например, MSHTML
...
Рейтинг: 0 / 0
Как распарсить письмо из Outlook в HTML формате?
    #39494489
I dont know
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Вопрос решил. С помощью регулярки выкинул все теги(rexp.replace), на выходе чисты текст сообщения, то что нужно :)
...
Рейтинг: 0 / 0
Как распарсить письмо из Outlook в HTML формате?
    #39508813
TheMember
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это костыль. А решение все же было найдено или нет?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как распарсить письмо из Outlook в HTML формате?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]