js加载XML文件

// XML文件
<?xml version="1.0" encoding="gb2312"?>
<root>
  <father name="菜单一">
    <Child url="right.html" enable="false">子项1</Child>
    <Child url="right.html" enable="false">子项2</Child>
    <Child url="right.html" enable="false">子项3</Child>

  </father>
  <father name="菜单二">
    <Child url="right.html" enable="false">子项3</Child>
    <Child url="right.html" enable="false">子项4</Child>
  </father>

</root>

// js 文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="JavaScript" src="js/jquery.js"></script>

<script type="text/javascript">
$(function(){
	//导航切换
	$(".menuson li").click(function(){
		$(".menuson li.active").removeClass("active")
		$(this).addClass("active");
	});

	$(‘.title‘).click(function(){
		var $ul = $(this).next(‘ul‘);
		$(‘dd‘).find(‘ul‘).slideUp();
		if($ul.is(‘:visible‘)){
			$(this).next(‘ul‘).slideUp();
		}else{
			$(this).next(‘ul‘).slideDown();
		}
	});
})
</script>

</head>

<body  style="background:#f0f9fd;">
	<div class="lefttop"><span></span>菜 单</div>

    <dl id="leftmenu" class="leftmenu">
      <SCRIPT>
          var xmlDom = null;
          if (window.ActiveXObject) {
              alert("aa");
              xmlDom = new ActiveXObject("Microsoft.XMLDOM");
              //xmlDom.loadXML(xmlFile);//如果用的是XML字符串
              xmlDom.load(LeftXML.xml); //如果用的是xml文件。
          } else if (document.implementation && document.implementation.createDocument) {
              var xmlhttp = new window.XMLHttpRequest();
              xmlhttp.open("GET", "LeftXML.xml", false);
              xmlhttp.send(null);
              xmlDom = xmlhttp.responseXML.documentElement;//一定要有根节点(否则google浏览器读取不了)
          } else {
              xmlDom = null;
          }

          var finallyArray="";
          for (var i = 0; i < xmlDom.getElementsByTagName("father").length; i++) {

              var menuString = xmlDom.getElementsByTagName("father")[i].attributes[0].value;

              finallyArray += "<dd><div class=‘title‘><span><img src=‘images/leftico02.png‘ /></span>" + menuString + "</div><ul class=‘menuson‘>";

              for (var j = 0; j < xmlDom.getElementsByTagName("father")[i].getElementsByTagName("Child").length; j++) {
                  var _childfirst = xmlDom.getElementsByTagName("father")[i].getElementsByTagName("Child")[j].textContent;
                  var _childsecond = xmlDom.getElementsByTagName("father")[i].getElementsByTagName("Child")[j].attributes[0].value;
                  var _childsecond = xmlDom.getElementsByTagName("father")[i].getElementsByTagName("Child")[j].attributes[1].value;

                  finallyArray = finallyArray + "<li><cite></cite><a href=" + _childsecond + " target=‘rightFrame‘>" + _childfirst + "</a><i></i></li>";
              }
              finallyArray += "</ul></dd>";
          }
          document.getElementById("leftmenu").innerHTML = finallyArray;
      </SCRIPT>
    </dl>
</body>
</html>

  

时间: 2024-12-21 02:34:40

js加载XML文件的相关文章

js加载xml文件xin

js加载xml文件 作为刚进入软件开发大军的我,以一个水军的资格开始做梦,以一个画者的资格在'一张白纸'上开始涂抹.工作在哪里??工作在哪里呢??? 今天发现一道面试题: 附件中有一个城市列表的city.xml文件,现在需要您通过Javascript脚本对该文件进行解析,然后将城市列表还原到下拉列表框中:当选择下拉列表框时,在对应的文本框中显示该城市信息(界面布局请参考test1.html文件,也可以自行定义). 上网查了一天的资料,绞尽脑汁的试着网上前辈的各种方法,为什么一个个别人成功的案例,

js便签笔记(8)——js加载XML字符串或文件

1. 加载XML文件 方法1:ajax方式.代码如下: var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); xhr.open("GET", "data.xml", false); xhr.send(null); var xmlDoc = xhr.responseXML; console.log(xmlDoc

Android动态加载XML文件及控件来简单实现QQ好友印象的功能

在android开发中,我们常常会遇到界面布局控件不确定的情况.由于某些功能的原因或者为了体现某些app的特色等这些原因会导致我们在实现界面布局时需要动态去加载一些控件,那么下面就来介绍一下如何用动态加载控件来简单实现QQ中好友印象的功能,其中也会提到如何来动态加载一个XML的配置文件. 那么要实现好友印象的功能,我们需要通过以下这几个步骤: 1.界面一开始需要加载一个EditText和Button控件,用于填写好友印象和添加好友印象: 2.需要新建一个arrays.xml,在xml文件中添加上

J2EE加载资源文件以及Spring加载XML文件

J2EE加载XML文件 Resource接口,是用来加载文件的接口. FileSystemResource和ClassPathResource都是实现了Resource接口,他们都可以用来加载XML文件. 具体代码如下: 1 Resource resource1 = new ClassPathResource("文件.xml"); 2 3 Resource resource2 = new FileSystemResource("盘符:/项目路径/src/文件.xml"

跨浏览器加载xml文件

var parseXml = { createXmlParser: function () { //IE创建此解析对象 var versions = [ 'MSXML2.DOMDocument.6.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument' ]; var xmlParse = null; for (var i = 0, length = versions.length; i < length; i++) { try { xmlParse

java中使用Properties加载XML文件设置java窗体应用程序的窗体属性

一.描述 开发一个MyFrame窗体应用程序,该窗体继承JFrame类,窗体中的标题.按钮上的文字等信息都可以写在一个xml配置文件中,即使以后想更改所有的属性,只需要更改xml配置文件中的相应属性即可. 本案例使用java中的Properties类来加载一个xml配置文件,并读取文件中的所有属性(key-value),并将取得的所有键值对应用于JFrame窗体属性中. 二.源代码 package tong.day4_27.systemUse; import java.awt.FlowLayou

dom4j加载xml文件

## dom4j加载xml文件 ``` // 1. 加载xml文件 InputStream is = MyTest.class.getResourceAsStream("user.xml"); // 2. 载入到dom4j中 SAXReader reader = new SAXReader(); Document doc = reader.read(is); // 3. 获取根节点 Element root = doc.getRootElement(); // 4. 获取子节点列表 L

解决dom4j加载xml文件性能慢的问题

在代码中使用: 1: DocumentHelper.parseText 2: SAXReader reader = new SAXReader(); Document extdocument = reader.read(new File(extMapperPackagePath)); 经过检测每次加载3KB文件的xml耗时1秒钟.性能极慢.经过很久终于找到原因,原来是验证xmlDTD文件导致的. 解决办法:跳过DTD验证. 步骤1:创建类 package com.my.common.genera

使用TreeView加载XML文件

PS: 由于小弟初学编程,本文只写实现方式,代码写的不是很好请见谅! 1.需要读取的xml文档内容 2. 最终实现效果 3  貌似看起实现起来很复杂 但是想想还是挺简单 思路:  读取XML文档 →获取XML根元素→ 递归添加根元素(因为树形的结构和XML很像) 具体看代码 首先给加载button注册方法 1 private void btn_LoadXml_Click(object sender, EventArgs e) 2 { 3 //读取Xml文件 this.txt_XmlPath.Te