Подтвердить что ты не робот

Как отображать XML на HTML-странице в виде сбрасываемого и расширяемого дерева с помощью Javascript?

Как отобразить XML-документ на HTML-странице в виде сбрасываемого и расширяемого дерева?

Я хотел бы отобразить XML-документ внутри HTML-страницы в виде красиво печатной древовидной структуры. Я хотел бы иметь возможность расширять и сворачивать ветки дерева. Например, браузер Firefox делает это, когда вы загружаете простой XML файл. Я смотрю, как это сделать на стороне клиента с JavaScript.

4b9b3361

Ответ 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());
?>