web-dev-qa-db-ja.com

Javascriptを使用して、折りたたみおよび展開可能なツリーとしてHTMLページにXMLを表示する方法は?

HTMLページでXMLドキュメントを折りたたみおよび展開可能なツリーとして表示する方法は?

HTMLページ内にXMLドキュメントをきれいに印刷されたツリー構造として表示したいと思います。木の枝を展開したり折りたたんだりできるようになりたい。たとえば、プレーンXMLファイルをロードすると、Firefoxブラウザーがこれを実行します。 JavaScriptを使用してクライアント側でこれを行う方法を探しています。

31
Juha Syrjälä

JScriptを使用したXMLビューアーの作成-Exsead XML Power Scripting

JavascriptでXMLファイルを表示

更新:

何年も前に私が上にリストしたものよりも優れた使いやすい代替手段があるようです:

https://www.jstree.com/

彼らが助けてくれることを願っています。

16
Tarik

このライブラリはすべての作業を行います:

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ライブラリがあり、あなたのためにツリービューを作成できます。

1
jhuni

http://ajaxian.com/archives/jstree-jquery-based-javascript-tree-component ここには、ソリューションを含む多くのjsライブラリがあります

1
Eldar Djafarov

こんにちは、これをページのヘッダーに追加するだけです。

<?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());
?>
0
Louwki

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();
0