Как отображать XML на HTML-странице в виде сбрасываемого и расширяемого дерева с помощью Javascript?
Как отобразить XML-документ на HTML-странице в виде сбрасываемого и расширяемого дерева?
Я хотел бы отобразить XML-документ внутри HTML-страницы в виде красиво печатной древовидной структуры. Я хотел бы иметь возможность расширять и сворачивать ветки дерева. Например, браузер Firefox делает это, когда вы загружаете простой XML файл. Я смотрю, как это сделать на стороне клиента с JavaScript.
Ответы
Ответ 1
Создание средства просмотра XML с использованием сценариев сценариев XML JScript - Exsead
Показать файлы XML с Javascript
Обновление:
Кажется, что лучше и проще в использовании альтернатива, чем то, что я перечислял выше много лет назад:
https://www.jstree.com/
Надеюсь, они помогут.
Ответ 2
http://ajaxian.com/archives/jstree-jquery-based-javascript-tree-component Здесь вы можете найти кучу js libs с решениями
Ответ 3
Эта библиотека выполняет всю работу за вас:
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, которые могут создать для вас древовидное представление.
Ответ 4
Если вы используете приложение 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();
Ответ 5
Привет, просто добавьте это в заголовок своей страницы.
<?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());
?>