Javascript 如何使用php将xml中的节点内容发送到另一个页面?

Javascript 如何使用php将xml中的节点内容发送到另一个页面?,javascript,php,jquery,xml,Javascript,Php,Jquery,Xml,如何使用php将xml中的节点内容发送到另一个页面 page.php <!DOCTYPE html> <html> <head> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1 target-densitydpi=device-dpi" /> <link rel="s

如何使用php将xml中的节点内容发送到另一个页面

page.php

    <!DOCTYPE html>
<html>
<head>

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1  target-densitydpi=device-dpi" />
        <link rel="stylesheet" type="text/css" href="styles.css" />
</head>
<body>
<div class="container">
<?php
$html = "";
$url = "http://d-toma.netne.net/Data.xml";
$xml = simplexml_load_file($url);
$title=$xml->page[0]->title;
$image=$xml->page[0]->image;

echo("<div class=\"main\"><img src=\"$image\"/>$title</div>");


  for($i = 1; $i<4;$i++){
$title=$xml->page[$i]->title;
$image=$xml->page[$i]->image;



    $title= $xml->page[$i]->title;
//$title=$xml->page->content->asXML();
$html .="<div class=\"sec\"><img src=\"$image\"/>$title</div>";

 }

echo $html;

?>
</div>

</body>
<html>  

我只想在单击div时打开另一个页面,并将我单击的节点的内容放在上面 请帮帮我谢谢
我只是尝试了每件事,但我不知道如何解决这个问题

你可以使用会话。需要记住的重要一点是,在标题下(
header('Location:http://www.yoururl.com/displaypage.php“);
)必须与您使用/displaypage.php访问网站的url相同

因此,如果您使用“yoururl.com”访问,则必须是:
header('Location:http://yoururl.com/displaypage.php');但如果使用“www.yoururl.com”访问,则必须是:
标题('位置:http://www.yoururl.com/displaypage.php');。这是保留您对会话的访问权限所必需的

session_start();
$_SESSION['TitleImageInfo'] = array();    

for($i = 1; $i < 4; $i++) {

    $title=$xml->page[$i]->title;
    $image=$xml->page[$i]->image;

    //Add title, image html to the $_SESSION['TitleImageInfo'] session array.
    $_SESSION['TitleImageInfo'] = "<div class=\"sec\"><img src=" . $image . "/>" . $title . "</div>";
}


header("Location: http://www.yoururl.com/displaypage.php");
session_start();
$\会话['TitleImageInfo']=array();
对于($i=1;$i<4;$i++){
$title=$xml->page[$i]->title;
$image=$xml->page[$i]->image;
//将标题、图像html添加到$_会话['TitleImageInfo']会话数组。
$\会话['TitleImageInfo']=“.$title.”;
}
标题(“位置:http://www.yoururl.com/displaypage.php");
在displaypage.php上:

<?php
    session_start();

    for($i = 1; $i < count($_SESSION['TitleImageInfo']); $i++) {
        echo($_SESSION['TitleImageInfo'][i]);
    }
?>

下一个解决方案与您需要的相同,只是我使用jQ:

<!DOCTYPE html>
<html>
   <body>
    <header>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

        <style>
            .container {
                position: relative;
                width: 100%;
            }

            .menu {
                float: left;
                width: 25%;
            }

            .menu a {
                text-decoration: none;
            }

            .page {
                float: left;
                width: 75%;
            }
        </style>
    </header>
    <body>
        <div class="container">
            <div class="menu">
                <ul>
                </ul>
            </div>
            <div class="page">
            </div>
        </div>

        <script>
            var $pageCollection;

            function buildMenu($xmlDoc) {
                var $menu = $('div.menu > ul'),
                    $pageDetail = $('div.page'),
                    items = [];

                // Get page collection
                $pageCollection = $xmlDoc.find('page');

                $pageCollection.each(function (index, element) {
                    var $page = $(element),
                        item = $('<li><a href="javascript:void(0)" data-index="' + index + '">' 
                            + $page.find('title').html()
                            + '<br />' + $page.find('desc').html() + '</a></li>');

                    items.push(item);
                });

                // Show page 0 for default
                var $firstPage = $pageCollection.first(),
                    $contentPage = $firstPage.find('content').html();

                $pageDetail.html($contentPage);

                // Add event handlers
                $menu.append(items);
                $menu.on('click', 'a', onAnchorClick);
            }

            function getXml(url, callback) {
                $.get(url, function (response) {
                    var $xmlDoc = $(response);

                    callback($xmlDoc);
                });
            }

            function onAnchorClick(event) {
                var $pageDetail = $('div.page'),
                    $anchor = $(event.currentTarget),
                    index = $anchor.attr('data-index');

                // Clear previous content
                $pageDetail.empty();

                // Show current page
                var $currentPage = $pageCollection.eq(index),
                    $contentPage = $pageCollection.find('content').html();

                $pageDetail.html($contentPage);
            }

            $(function () {
                var url = 'http://d-toma.netne.net/Data.xml';

                getXml(url, buildMenu);
            });
        </script>
    </body>
</html>

.集装箱{
位置:相对位置;
宽度:100%;
}
.菜单{
浮动:左;
宽度:25%;
}
.菜单a{
文字装饰:无;
}
.第页{
浮动:左;
宽度:75%;
}
var$pageCollection; 函数构建菜单($xmlDoc){ 变量$menu=$('div.menu>ul'), $pageDetail=$('div.page'), 项目=[]; //获取页面集合 $pageCollection=$xmlDoc.find('page'); $pageCollection.each(函数(索引、元素){ 变量$page=$(元素), 项目=$(“
  • ”); 项目。推送(项目); }); //默认情况下显示第0页 var$firstPage=$pageCollection.first(), $contentPage=$firstPage.find('content').html(); $pageDetail.html($contentPage); //添加事件处理程序 $menu.append(项目); $menu.on('click','a',onAnchorClick); } 函数getXml(url,回调){ $.get(url、函数(响应){ var$xmlDoc=$(响应); 回调($xmlDoc); }); } AnchorClick(事件)上的函数{ 变量$pageDetail=$('div.page'), $anchor=$(event.currentTarget), index=$anchor.attr('data-index'); //清除以前的内容 $pageDetail.empty(); //显示当前页面 var$currentPage=$pageCollection.eq(索引), $contentPage=$pageCollection.find('content').html(); $pageDetail.html($contentPage); } $(函数(){ var url='1〕http://d-toma.netne.net/Data.xml'; getXml(url,buildMenu); });
    该解决方案使用AJAX加载XML文件,并为
    content
    标记解析该查找。菜单div中的锚点在XML中保存索引位置,使用它在XML页面集合中选择当前页面


    问候

    单击时需要一个
    标记,除非您想使用JS,然后以某种方式将获取的内容作为查询参数传递,或者传递某种类型的ID,以便其他页面可以重新获取相同的信息。我知道,但我不知道如何传递内容。你能帮我传递吗?我想它会起作用,但我需要单击一些a标记来打开它,以便在显示页面上显示内容。谢谢