XML-код может быть преобразован браузером с использованием XSL. Это может быть либо сделано, со ссылкой на XSL внутри XML с помощью , добавив следующую строку в файле XML:Преобразование HTML, созданного XML, XSL в MHTML
<?xml-stylesheet type='text/xsl' href='sample.xsl'?>
Открытие этого XML-файл теперь с интернет-проводник покажет правильные данные в браузере.
Сам XML ссылается на многие другие файлы, например. которые находятся в некоторой папке.
Я хочу, чтобы сохранить данные, отображаемые (со всеми ссылочных данных) в одном MHTML файл (* .mht)
Как поступить? И возможно ли это?
Примечание: файлы все локальные (а не на сервере), а начальный xml - результат тестовых данных. Я просто хочу, чтобы мой XML-файл отображался правильно, как и раньше, из одного файла без доступа к другим данным за пределами файла mhtml.
Редактировать на ответ 1:
Я включил мой XML в плавающем фрейме в качестве HTML:
<body><iframe src="name.xml" width = "100%" height="1000"> </iframe></body>
Это я сэкономил, используя IE в * .mht файла:
From: <Saved by Windows Internet Explorer 7>
Subject: XML-Test
Date: Wed, 22 Feb 2012 14:47:34 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0000_01CCF170.E99B1DF0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01CCF170.E99B1DF0
Content-Type: text/html;
charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Content-Location: file://C:\Documents and Settings\STEFFAN\Desktop\Test\XML-Test.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>XML-Test</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dwindows-1252">
<META content=3D"MSHTML 6.00.6000.17107" name=3DGENERATOR></HEAD>
<BODY><IFRAME=20
src=3D"http://www.m.de/name.xml"=20
width=3D"100%" height=3D1000>
</IFRAME></BODY></HTML>
------=_NextPart_000_0000_01CCF170.E99B1DF0
Content-Type: text/xml;
charset="unicode"
Content-Transfer-Encoding: base64
Content-Location: http://www.m.de/name.xml
//48ACEARABPAEMAVABZAFAARQAgAEgAVABNAEwAIABQAFUAQgBMAEkAQwAgACIALQAvAC8AVwAz
AEMALwAvAEQAVABEACAASABUAE0ATAAgADQALgAwACAAVAByAGEAbgBzAGkAdABpAG8AbgBhAGwA...
Поскольку я использую локальные файлы изначально вместо «http://www.m.de/name.xml» «file: // C: \ Documen ts и Settings \ STEFFAN \ Desktop \ Test \ SUPL_TCLog.xml "был выведен IE.
Но эта локальная ссылка, похоже, не работает для mhtml, что отстойно, и поэтому я использовал случайную замену (http://www.m.de/name.xml) для нее. (это отлично работает для файлов изображений). Таким образом, изменение файла mht начнет загрузку xml-файла. Но это не нужно. Я хочу, чтобы он отображался.
Что не хватает?
Спасибо за ваш ответ. Вот несколько вопросов по этому вопросу: Я попытался открыть мою страницу с помощью Internet Explorer, но сохранение приведет к сохранению xml. (mht не выбирается). Поэтому я попытался внедрить его в IFrame и сохранить его, также безуспешно. MHTML не может быть открыт, как только я удалю ресурс. (см. код выше) Что касается ссылки ресурсов «с тем же адресом», вы имеете в виду, что на каждый источник должен ссылаться другой URL-адрес, правильно? Поскольку я работаю с локальными файлами url по файлу ///, похоже, не работает. Это так? –
Похоже, что IE будет предлагать эту опцию только в том случае, если открытый файл является HTML-файлом, поэтому сначала нужно преобразовать в HTML, а затем открыть его в IE. «Тот же URL» означает, например, для того же файла «a.png», не ссылайтесь на «a.png» и «./a.png», потому что «контент-местоположение» не может совпадать с обоими. –