如何使用Javascript将HTML页面中的XML显示为可折叠和可扩展的树?

时间:2009-09-02 06:56:03

标签: javascript html xml tree

如何在HTML页面中将XML文档显示为可折叠和可扩展的树?

我想在HTML页面中显示一个XML文档,作为一个非常漂亮的打印树结构。我希望能够扩展和折叠树枝。例如,Firefox浏览器在加载纯XML文件时执行此操作。我正在寻找如何使用JavaScript在客户端执行此操作。

5 个答案:

答案 0 :(得分:15)

Creating An XML Viewer With JScript - Exsead XML Power Scripting

Display XML Files with Javascript

更新

似乎有一种比我多年前上面列出的更好,更容易使用的替代方案:

https://www.jstree.com/

希望他们有所帮助。

答案 1 :(得分:1)

http://ajaxian.com/archives/jstree-jquery-based-javascript-tree-component在这里你可以找到一堆带解决方案的js libs

答案 2 :(得分:1)

这个库可以为您完成所有工作:

http://www.openjsan.org/doc/k/ka/kawasaki/XML/ObjTree/0.24/lib/XML/ObjTree.html

var js = (new XML.ObjTree).parse("<?xml version="1.0"?><response><error>0</error></response>");

然后你有一个JavaScript树,你可以随意显示它。您可能想要尝试YAHOO.widget.TreeView模块,因为它将创建一个“可扩展和可折叠的树”。也就是说,如果您喜欢YUI库,那么可以使用Dojo和Ext库来为您创建树视图。

答案 3 :(得分:0)

如果您使用的是ASP.NET应用程序,则不需要客户端功能。您可以使用以下指定的方法: -

//Populate the below varaible value from your business logic
string xmlContent = "<?xml version=\"1.0\"><root><emp><name>name 1</name></emp><emp><name>name 2</name></emp></root>";
Response.Clear();
Response.ContentType = "text/xml"; //Set the contenttype to text/xml so the browser automatically recognises and displays it in the hierarchical structure
Response.Write(xmlContent);
Response.Flush();
Response.End();

答案 4 :(得分:0)

您好,只需将其添加到您网页的标题中即可。

<?php

header("Content-type: text/xml");

$xml = new SimpleXMLElement('<xml/>');

for ($i = 1; $i <= 8; ++$i) {
    $track = $xml->addChild('track');
    $track->addChild('path', "song$i.mp3");
    $track->addChild('title', "Track $i - Track Title");
}

print($xml->asXML());
?>