
var HTML = ""; 
var space = "";
var blank = " "; 


function getSubject() 
{
var xmlDoc;
var type = 1;                                         //默认为IE浏览器

if (navigator.userAgent.indexOf("MSIE") > 0) {
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");    //实例化dom对象
}
else if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
    type = 2;
    var xmlDoc = document.implementation.createDocument("", "", null);
    //var parser=new DOMParser();
    //var source=parser.parseFromString(source,"text/xml");
}
else {
    window.alert('暂不识别该浏览器!');
    return;
}
xmlDoc.async = false;
xmlDoc.load("/include/TravelNews.xml");
/*
//解析xml文件，判断是否出错
if (xmlDoc.parseError.errorCode != 0) {
    var error = xmlDoc.parseError;
    alert(error.reason)
    //return;
}
*/
//获得根接点
var root = xmlDoc.documentElement;

var childNodes = root.selectNodes("//tree");  //@xxx代表是attr,也可以这样获得.搜索属性中含有tree的所有节点

//得到根接点下共有子接点个数，并循环
for (var i = 0; i < childNodes.length; i++) {
    //如果接点名为 tree
    if (childNodes[i].nodeName == "tree") 
    {
        //alert(childNodes[i]);
        readTree(childNodes[i]); 
    } 
}
//删除对象 
delete(xmlDoc);
//显示HTML
document.getElementById("show").innerHTML = HTML;
return; 
} 


//读Tree节点 
function readTree(cI) { 

var nodes = cI.childNodes; 
var menuHTML = space; 
menuHTML += blank; 
//得到超级链接
menuHTML += "<table  width='213px' border='0' align='center' cellpadding='0' cellspacing='0'>";
menuHTML +="<tr>";
menuHTML +="	<td valign='middle' width='1'>		  ·</td><td height=28 >"
//menuHTML +="		  "

if (navigator.userAgent.indexOf("MSIE") > 0) {
    menuHTML += "<a  class=black_1 href='";
    //如果该节点的连接属性不为空，则连接 
    if (cI.selectNodes("link")(0).text != "") {
        menuHTML += cI.selectNodes("link")(0).text;
    }
    //否则为空链接 
    else {
        menuHTML += "#";
    }
    //目标 
    if (cI.selectNodes("target")(0).text != "") {
        menuHTML += "' target='" + cI.selectNodes("target")(0).text;
        menuHTML += "'";
    }
    //点击菜单事件，调用divshow(vid)函数 
    menuHTML += " onclick=javascript:divshow('" + cI.getAttribute("id") + "');";
    //得到节点标题 
    menuHTML += " title='";
    menuHTML += cI.selectNodes("title")(0).text;
    //结束 
    menuHTML += "'>";



    //得到节点的正文 
    menuHTML += cI.selectNodes("text")(0).text;
    menuHTML += "</a><br>\n";
    menuHTML += "</td></tr>";
    menuHTML += "</table>";
}
else if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
    menuHTML += "<a  class=black_1 href='";
    //如果该节点的连接属性不为空，则连接
    if (GetNodeValue(cI.childNodes[7]) != "") {
        menuHTML += GetNodeValue(cI.childNodes[7]);
        menuHTML += "'";
    }
    //否则为空链接 
    else {
        menuHTML += "#";
    }

    //目标
    if (GetNodeValue(cI.childNodes[4]) != "") {
        menuHTML += "' target='" + GetNodeValue(cI.childNodes[4]);
        menuHTML += "'";
    }


    //点击菜单事件，调用divshow(vid)函数 
    menuHTML += " onclick=javascript:divshow('" + cI.getAttribute("id") + "');";
    //得到节点标题 
    menuHTML += " title='";
    menuHTML += GetNodeValue(cI.childNodes[5]);
    //结束 
    menuHTML += "'>";


    //得到节点的正文
    menuHTML += GetNodeValue(cI.childNodes[1]);
    menuHTML += "</a><br>\n";
    menuHTML += "</td></tr>";
    menuHTML += "</table>";

}



//alert(cI.childNodes["link"]);
//alert(GetNodeValue(cI.childNodes[0]));
//return;
//将menuHTML设置添加到HTML字符串 
HTML += menuHTML; 
//得到该节点的属性值<span 
HTML += "<div id='"+cI.getAttribute("id")+"' style='display:none;'>\n"; 
for(var i=0; i<nodes.length; i++) 
{ 
    var tempImg = ""; 
    tempImg += blank;
    if (nodes[0].nodeName == "tree") 
    { 
        space += tempImg;
        readTree(nodes[0]); 
        space = ""; 
    }
    else if (nodes[0].nodeName == "node") 
    { 
        space += tempImg;
        readNode(nodes[0]); 
    } 
} 
HTML += "</div>\n"; 
return; 
} 




//读Node节点 
function readNode(cI) 
{ 
var nodeHTML = space; 
nodeHTML += blank; 
//设置超级链接 
nodeHTML += "<a href='"; 
//得到连接地址 
nodeHTML += cI.selectNodes("link")(0).text; 
//目标 
if(cI.selectNodes("target")(0).text != "") 
nodeHTML += "' target='"+cI.selectNodes("target")(0).text; 
//得到节点标题 
nodeHTML += "' title='"; 
nodeHTML += cI.selectNodes("title")(0).text; 
//结束 
nodeHTML += "'>"; 
//得到节点的正文 
nodeHTML += cI.selectNodes("text")(0).text; 
nodeHTML += "</a><br>\n"; 
HTML += nodeHTML; 
//HTML += "<div id='"+cI.getAttribute("id")+"'>"; 
space = ""; 
return; 
} 


//操作对象的显示还是隐藏效果 
function divshow(vid) 
{ 
if(document.all[vid].style.display == "none") 
{ 
document.all[vid].style.display = "block"; 
} 
else 
{ 
document.all[vid].style.display = "none"; 
} 
return; 
} 

