Affichage de contenu HTML et XML sur la même page HTML
J'ai un HTML
page dans laquelle j'ai un bouton à appuyer sur le bouton une javascript
fonction est appelée - voici les résultats d'une Chaîne qui est la représentation d'un xml. Je veux représenter ce xml sur la même page avec le bouton, similaire à ce qui est dans l'image ci-dessous:!
Ici est la version simplifiée de code que j'ai essayé mais n'a pas travaillé (voir sous le code à la suite de cela - rien ne s'affiche):
<html>
<head>
<script type="text/javascript">
function xml_test()
{
var xmlString = "<note><name>Kundan Kumar Sinha</name><place>Bangalore</place><state>Karnataka</state></note>";
var my_div = document.getElementById("labelId");
alert(xmlString)
my_div.innerHTML += xmlString;
}
</script>
</head>
<body>
<input type="button" value="TEST" onclick="xml_test()"/>
<br><br>
<label id="labelId">XML: </label>
</body>
</html>
J'ai essayé avec un iframe aussi, mais je n'ai pas de fichier pour l'attribut src.
Ce que j'ai essayé est:
<html>
<head>
<script type="text/javascript">
function populateIframe() {
var xml = "<?xml version='1.0' encoding='UTF8' standalone='yes'?><note><name>Kundan Kumar Sinha</name><place>Bangalore</place><state>Karnataka</state></note>";
var iframe = document.getElementById('myIframe');
var idoc= iframe.contentDocument || iframe.contentWindow.document; //IE compat
idoc.open("text/xml"); //I know idoc.open(); exists but about idoc.open("text/xml"); I'm not sure if exists;
idoc.write('<textarea name="xml" rows="5" cols="60"></textarea>');
//idoc.write(xml); //doesn't work
idoc.getElementsByTagName('textarea')[0].value= xml;
idoc.close();
}
</script>
</head>
<body onload="populateIframe();">
<iframe id="myIframe" width="900" height="400"></iframe>
</body>
</html>
et le résultat est:
J'ai déjà regardé sur Comment afficher du XML dans une page HTML comme un pliable et extensible arbre à l'aide de Javascript?
J'ai pris quelques idées de ici
Merci de m'aider!
- Pas clair ce que vous essayez de faire?,ce que tu veux dire par "je veux représenter ce xml comme un fichier xml' ??, vous pouvez écrire du XML en Réponse, qui va présenter votre XML, comme lorsque l'on ouvre un fichier xml dans le navigateur
- J'ai mis à jour/correction de la question.
Vous devez vous connecter pour publier un commentaire.
Il suffit de Créer suis HttpHandler, et de l'ouvrir dans une Iframe:
Vous pouvez passer votre reçu chaîne xml pour cela, où je fais
contexte.Réponse.Write('vous Passer de données XML ici');
var xmlString = "<note><name>Kundan Kumar Sinha</name><place>Bangalore</place><state>Karnataka</state></note>";
Ajax.Request( --- --- onComplete: function(transport){ var responseXML = transport.responseXML; } );
responseXML
est ici un Objet.transport.responseText
- est de la Chaîne xml FormatVous devez utiliser votre favori de la bibliothèque JavaScript avec un arbre widget pour afficher le XML dans la forme de l'arbre.
Note que "l'arbre" comme de la vue que vous voyez est en fait IE de la vue par défaut pour les fichiers XML. D'autres navigateurs ont des points de vue différents pour les fichiers XML, et certains n'ont même pas vous permettent d'afficher des fichiers XML sans plug-in.
Vous ne devriez pas dépendre du navigateur de fonctionnalités spécifiques si vous affichez le XML de la forme de l'arbre est importante pour votre page de fonctionnalité.
Toutefois, si vous voulez juste à appuyer sur un bouton, puis l'ensemble de la page est transformé en XML, puis par tous les moyens rediriger simplement pour que XML URI sur le bouton appuyez sur. IE ne montrons que le fichier XML sous forme d'arbre, tandis que d'autres navigateurs peuvent soit vous demandent de télécharger le fichier, ou pour afficher le fichier XML dans le format qui est déterminée par leur plugin.
J'ai mis les données xml dans l'attribut src: