问题描述
<Menus><Menuid="0"name="首页"><MenuItemTitlesid="01"mid="0"name="常用选项"><MenuItemmid="0"tid="01"url="Home.aspx">后台首页</MenuItem><MenuItemmid="0"tid="01"url="Test.aspx">测试页</MenuItem></MenuItemTitle><Menuid="0"name="试试"><MenuItemTitlesid="01"mid="0"name="常用选项"><MenuItemmid="0"tid="01"url="Home.aspx">后台首页</MenuItem><MenuItemmid="0"tid="01"url="Test.aspx">测试页</MenuItem></MenuItemTitle><Menus>==============================================================如果循环,得出HTML,请给出详细代码,谢谢,请注意,有id的条件区分<h1>首页</h1><h2>常用选项</h2><ahref="Home.aspx">后台首页</a><ahref="Test.aspx">测试页</a><h1>试试</h1><h2>常用选项</h2><ahref="Home.aspx">后台首页</a><ahref="Test.aspx">测试页</a>
解决方案
本帖最后由 pp8403 于 2011-11-25 20:47:05 编辑
解决方案二:
该回复于2011-11-28 08:55:36被版主删除
解决方案三:
不好答,代码太多了
解决方案四:
可以简写
解决方案五:
该回复于2011-11-28 08:59:13被版主删除
解决方案六:
<Menus><Menuid="0"name="首页"><MenuItemTitlesid="01"mid="0"name="常用选项"><MenuItemmid="0"tid="01"url="Home.aspx">后台首页</MenuItem><MenuItemmid="0"tid="01"url="Test.aspx">测试页</MenuItem></MenuItemTitle></Menu><Menuid="0"name="试试"><MenuItemTitlesid="01"mid="0"name="常用选项"><MenuItemmid="0"tid="01"url="Home.aspx">后台首页</MenuItem><MenuItemmid="0"tid="01"url="Test.aspx">测试页</MenuItem></MenuItemTitle></Menu></Menus>
格式是这样么?
解决方案七:
stringxml=@"<?xmlversion='1.0'?><Menus><Menuid='0'name='首页'><MenuItemTitlesid='01'mid='0'name='常用选项'><MenuItemmid='0'tid='01'url='Home.aspx'>后台首页</MenuItem><MenuItemmid='0'tid='01'url='Test.aspx'>测试页</MenuItem></MenuItemTitle></Menu><Menuid='0'name='试试'><MenuItemTitlesid='01'mid='0'name='常用选项'><MenuItemmid='0'tid='01'url='Home.aspx'>后台首页</MenuItem><MenuItemmid='0'tid='01'url='Test.aspx'>测试页</MenuItem></MenuItemTitle></Menu></Menus>";XmlDocumentdoc=newXmlDocument();doc.LoadXml(xml);foreach(XmlElementxeindoc.SelectNodes("/Menus/Menu")){Console.WriteLine("<h1>{0}</h1>",xe.Attributes["name"].Value);Console.WriteLine("<h2>{0}</h2>",xe.FirstChild.Attributes["name"].Value);for(inti=0;i<xe.FirstChild.ChildNodes.Count;i++){Console.WriteLine("<ahref='{0}'>{1}</a>",xe.FirstChild.ChildNodes[i].Attributes["url"].Value,xe.FirstChild.ChildNodes[i].InnerText);}}
解决方案八:
<?xmlversion="1.0"encoding="utf-8"?><Menus><Menuid="0"name="首页"><MenuItemTitlesid="01"mid="0"name="常用选项"><MenuItemmid="0"tid="01"url="Home.aspx">后台首页</MenuItem><MenuItemmid="0"tid="01"url="Test.aspx">测试页</MenuItem></MenuItemTitle></Menu><Menuid="0"name="试试"><MenuItemTitlesid="01"mid="0"name="常用选项"><MenuItemmid="0"tid="01"url="Home.aspx">后台首页</MenuItem><MenuItemmid="0"tid="01"url="Test.aspx">测试页</MenuItem></MenuItemTitle></Menu></Menus>
<html><head><title></title><scripttype="text/javascript">functionshow(){if(window.XMLHttpRequest){xmlhttp=newXMLHttpRequest();}else{xmlhttp=newActiveXObject("Microsoft.XMLHTTP");}if(xmlhttp!=null){xmlhttp.open("GET","xmlname.xml",false);xmlhttp.send(null);varresponsexml=xmlhttp.responseXML;varmenus=responsexml.getElementsByTagName("Menus")[0];vartb=document.getElementById("tb");vartr=null;vartc=null;for(vari=0;i<menus.childNodes.length;i++){varmenu=menus.childNodes[i];tr=tb.insertRow(i);tc=tr.insertCell(0);tc.innerHTML=menu.getAttribute("name");tr=tb.insertRow(i);tc=tr.insertCell(0);tc.innerHTML=menu.childNodes[0].getAttribute("name");for(varj=0;j<menu.childNodes[0].childNodes.length;j++){varmi=menu.childNodes[0].childNodes[j];varurl=mi.getAttribute("url");vartxt=mi.childNodes[0].nodeValue;tr=tb.insertRow(j);tc=tr.insertCell(0);tc.innerHTML="<ahref="+url+">"+txt+"</a>";}}}else{alert("你用的什么浏览器?");}}</script></head><body><inputtype="button"value="显示"onclick="show()"><tableid="tb"></table></body></html>
你xml太强差不少标签
解决方案九:
那个insertRow()从前往后插,不知道有没有好的方法倒过来
解决方案十:
完全按你的要求写的,优化了一下<html><head><title></title><scripttype="text/javascript">functionshow(){if(window.XMLHttpRequest){xmlhttp=newXMLHttpRequest();}else{xmlhttp=newActiveXObject("Microsoft.XMLHTTP");}if(xmlhttp!=null){xmlhttp.open("GET","xmlname.xml",false);xmlhttp.send(null);varresponsexml=xmlhttp.responseXML;varmenus=responsexml.getElementsByTagName("Menus")[0];varhtml="";for(vari=0;i<menus.childNodes.length;i++){varmenu=menus.childNodes[i];html=html+"<h1>"+menu.getAttribute("name")+"</h1><br>";html=html+"<h2>"+menu.childNodes[0].getAttribute("name")+"</h2><br>";for(varj=0;j<menu.childNodes[0].childNodes.length;j++){varmi=menu.childNodes[0].childNodes[j];varurl=mi.getAttribute("url")+"<br>";vartxt=mi.childNodes[0].nodeValue;html=html+"<ahref=""+url+"">"+txt+"</a>";}}document.getElementById("tb").innerHTML=html;}else{alert("你用的什么浏览器?");}}</script></head><bodyonload="show()"><divid="tb"></div></body></html>