최근 프로젝트에서는 접속 성능 문제로 인해 내부 페이지를 정적으로 생성했지만, 일부 콘텐츠는 이전 방법에 따라 동적으로 생성해야 합니다. >JS 프론트엔드 시간에 Redbaby를 살펴봤는데 그 안에 있는 코드 중 일부는 모두 XML을 호출하는 JS인 것 같습니다. XML을 직접 사용해서 생성할 수도 있고, 하하, 그냥 연구해서 가져가서 사용하는 게 좋은 것 같아요.
XMl 데이터 형식은 다음과 같습니다.
<?xml version="1.0" encoding="gb2312"?> <root> <item> <name>刘亦菲</name> <url>MingXing/LiuYiFei.htm</url> <color>7A9D4B</color> </item> <item> <name>蔡依林</name> <url>MingXing/CaiYiLin.htm</url> <color>FD0000</color> </item> <item> <name>张娜拉</name> <url>MingXing/ZhangNaLa.htm</url> <color>7A9D4B</color> </item> <item> <name>张韶涵</name> <url>MingXiang/ZhangShaoHan.htm</url> <color>0000FF</color> </item> <item> <name>张靓颖</name> <url>MingXing/ZhangLiangYin.htm</url> <color>7A9D4B</color> </item> <item> <name>李宇春</name> <url>MingXing/LiYuChun.htm</url> <color>7A9D4B</color> </item> <item> <name>徐若瑄</name> <url>MingXing/XuLuXuan.htm</url> <color>FD0000</color> </item> </root>
프런트엔드 JS 스크립트 코드는 다음과 같습니다.
//웹사이트 인기 클릭 순위 가져오기
var cdsales=new ActiveXObject("Microsoft.XMLDOM"); //创建XmlDom对象 cdsales.async=true; //使用异步加载 cdsales.onreadystatechange=LoadedSales; function LoadedSales() { var txt=""; if(cdsales.readyState==4) { if(cdsales.parseError.errorCode != 0) { txt=""; }else{ var bi=cdsales.documentElement.selectNodes("item"); if(bi!=null&&bi.length>0) { for(var i=0;i<bi.length;i++) { txt+="<li>·<a href="+bi[i].childNodes[1].text+" style=color:"+bi[i].childNodes[2].text+">"+bi[i].childNodes[0].text+"</a></li>"; } }else{ txt=""; } } }else{ txt=""; } sales.innerHTML=txt; } function LoadSalesDoc() { var Url="/XML/Hot.xml"; cdsales.load(Url); }
출력 페이지가 Xml 형식인 경우 프로그램을 사용하여 자동 생성된 위의 Hot.Xml로 이동할 수 있습니다. 아키텍처를 위해 p+JS+XML을 사용하는 웹사이트가 점점 많아지고 있는 것 같습니다. ㅎㅎ, 적어도 정적 페이지도 동적으로 읽을 수 있다는 점은 일단 코드를 익히는 것이 좋습니다. 이것이 Ajax의 개념인지는 모르겠지만 그렇게 봐야 합니다.
위 내용은 XML 데이터를 읽는 JS용 샘플 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!