XML peut être transformé par un navigateur en utilisant XSL. Cela peut être fait par référence à un xsl dans le xml par ajoutant la ligne suivante dans le fichier xml:Convertir HTML créé par XML, XSL en MHTML
<?xml-stylesheet type='text/xsl' href='sample.xsl'?>
Ouverture ce fichier XML maintenant avec Internet Explorer affiche les données correctes dans le navigateur.
Le XML lui-même fait référence à de nombreux autres fichiers, par ex. les images qui se trouvent dans un dossier.
Je veux enregistrer les données affichées (avec toutes les données référencées) dans un seul fichier MHTML (* .mht)
Comment dois-je procéder? Et est-ce possible?
Remarque: Les fichiers sont tous locaux (pas sur un serveur) et le fichier XML initial est le résultat des données de test. Je veux juste que mon fichier XML soit affiché correctement comme précédemment démarré à partir d'un seul fichier sans accéder à d'autres données en dehors du fichier mhtml.
Modifier sur la réponse 1:
J'ai inclus mon xml dans un iFrame d'un HTML:
<body><iframe src="name.xml" width = "100%" height="1000"> </iframe></body>
Ce que j'ai enregistré à l'aide d'IE dans un fichier * .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...
Depuis que j'utilise des fichiers locaux à la place de "http://www.m.de/name.xml" "fichier: // C: \ Documen ts et paramètres \ STEFFAN \ Desktop \ Test \ SUPL_TCLog.xml "a été édité par IE.
Mais cette référence locale ne semble pas fonctionner pour mhtml, qui craint et donc, j'ai utilisé un substitut aléatoire (http://www.m.de/name.xml) pour cela. (Cela fonctionne bien pour les fichiers image). Le changer en conséquence en ouvrant le fichier mht va commencer un téléchargement du fichier xml. Mais ce n'est pas voulu. Je veux qu'il soit affiché.
Que manque-t-il?
Merci pour votre réponse. Voici quelques questions à ce sujet: J'ai essayé d'ouvrir ma page avec Internet Explorer, mais enregistrer permettra d'économiser un xml. (mht n'est pas choosable). Par conséquent, j'ai essayé de l'incorporer dans un IFrame et de l'enregistrer, même sans succès. Le MHTML ne peut pas être ouvert dès que je supprime la ressource. (Voir le code ci-dessus) En ce qui concerne le référencement des ressources "avec le même URL", voulez-vous dire que chaque source devrait être référencée par une URL différente, n'est-ce pas? Comme je travaille avec des fichiers locaux, l'URL par fichier /// ne semble pas fonctionner. Est-ce comme ça? –
Il semble que IE n'offre cette option que si le fichier ouvert est un fichier HTML, alors commencez par le transformer en HTML, puis ouvrez-le dans IE. "Même url" signifie par ex. pour le même fichier "a.png", ne faites pas référence à "a.png" et "./a.png" parce que "content-location" ne peut pas correspondre aux deux. –