XML 代码部分 这是一个新闻的XML 文件,如果 NBody部分包含 XML 和Html 不可识别部分, 就 包含在DATA 表示附中。

具体内容我没有做测试。仅供参考

代码

<? xml version="1.0" encoding="gb2312" ?>
< NEWS >
    < New  id ="1"   name ="测试新闻1"  time ="2010-2-18" >
     < NBody > 新闻测试1新闻测试1 </ NBody >
   </ New >
   < New  id ="2"   name ="测试新闻2"  time ="2010-2-18" >
     < NBody > 新闻测试2新闻测试2 </ NBody >
   </ New >
   < New  id ="3"   name ="测试新闻3"  time ="2010-2-18" >
     < NBody > 新闻测试3新闻测试3 </ NBody >
   </ New >
   < New  id ="4"   name ="测试新闻4"  time ="2010-2-18" >
     < NBody > 新闻测试4新闻测试4 </ NBody >
   </ New >
   < New  id ="5"   name ="测试新闻5"  time ="2010-2-18" >
     < NBody > 新闻测试5新闻测试5 </ NBody >
   </ New >
   < New  id ="6"   name ="测试新闻6"  time ="2010-2-18" >
     < NBody > 新闻测试6新闻测试6 </ NBody >
   </ New >
   < New  id ="7"   name ="测试新闻7"  time ="2010-2-18" >
     < NBody > 新闻测试7新闻测试7 </ NBody >
   </ New >
   < New  id ="8"   name ="测试新闻8"  time ="2010-2-18" >
     < NBody > 新闻测试8新闻测试8 </ NBody >
   </ New >
   < New  id ="9"   name ="测试新闻9"  time ="2010-2-18" >
     < NBody > 新闻测试9新闻测试9 </ NBody >
   </ New >
</ NEWS >

JS 代码部分。js部分代码比较简单。 重要的就几XML 操作函数

代码

// JavaScript
function  bindNew(index)
{
     var   List  =   new  Array(); 
    List  =  showPage(index);
     var  listul  =   " <ul style=\ "  font - size:12px \ " > "
     for (  var  i = 0  ; i  <  List.length ; i ++ )
    {
         // document.getElementById("listTb").innerHTML += List[i]+"</br>";
        listul  +=   " <li style=\ "  margin - top:4px\ " > " +  List[i]  +   " </li> " ;
    }
    listul  +=   " </ul> " ;
    document.getElementById( " listTb " ).innerHTML  =  listul;
    
    document.getElementById( " refer " ).innerHTML  =   "" ;
     var  tc  =  rtnPageCount();
     for (  var  i = 1  ; i <= tc ; i ++ )
    {
         // <div style="width:14px; height:12px; color:#FFFFFF; background-color:#000000; float:left"></div>
        document.getElementById( " refer " ).innerHTML  +=   " <div style=\ " width:14px; height:14px; color:#FFFFFF; background - color:# 000000 ;  float :left; cursor:hand\ "  οnclick=\ "  bindNew( " +i+ " )\ " > " +  i  + " </div> " ;
        }
}

var  xmlDoc  =   new  ActiveXObject( " Microsoft.XMLDOM " );
xmlDoc.async  =   false ;
xmlDoc.resolveExternals  =   false ;
xmlDoc.load( " News.xml " );

//  返回固定 ID 的新闻
function  findNew(newid)
{
     var  Domelement  =  xmlDoc.documentElement;
    alert(Domelement);
}
//  返回分页后的新闻标题连接
var  pageSize  =   40 ;
function  showPage(pageIndex)
{
     var  Alltt  =   new  Array();
    Alltt  =  AlltitleLink();
     var  rtLinks  =   new  Array();
     /* 未完成部分 */
     try
    {
         for (  var  i = 0  ; i <  pageSize  &&  (pageSize * (pageIndex - 1 ) + i) < Alltt.length ; i ++ )
        { 
           rtLinks[i]  =  Alltt[pageSize * (pageIndex - 1 ) + i];
            }
     }
      catch (e)
     { alert( " showPage() 方法出错 ! " ); }
     return  rtLinks;    
}
// 返分页后的页数
function  rtnPageCount()
{
     var  countx  =  getCount();
     if (countx % pageSize  ==   0 )
    {
     return   countx / pageSize ;
    }
     else
    {
         return  countx / pageSize + 1 ;
        }
    }

// 返回新闻条数
function  getCount()
{
     var  NewRoot  =  xmlDoc.documentElement;
     var  AllNews  =  NewRoot.childNodes;
     return  AllNews.length;
}

// 返回固定条数的新闻标题连接

function  returnNews(count)
{
     var  titles  =   new  Array();
     var  j  =   0 ;
    NewRoot  =  xmlDoc.documentElement;
    allNews  =  NewRoot.childNodes;
     for (  var  i = 0  ; i < allNews.length ; i ++  )
    {
         if (i  >=  allNews.lenth)
        {
            titles[j]  =   " <a herf=\ " .. / News.html?id=" + (i+1) + "\">"+ allNews[i].getArrtibute("name") +"< / a > " ;
            j++;
            }
        }
    return titles;
}

//发回所有新闻 标题的超连接
function AlltitleLink()
{
    var allttLink = new Array();
    var NewRoot = xmlDoc.documentElement ;
    var allNews = NewRoot.childNodes;
    for( var i=0 ; i<allNews.length ; i++ )
    {
        var context = allNews[i];
        allttLink[i] =  " < a href = \ " ../News.html?id= " + (i + 1 ) + " \ " > " + context.getAttribute( " time " )+  "  :  "  + context.getAttribute( " name " ) + " < / a>";
    }
     return  allttLink;
}

部分Html 代码

代码

< table  width ="90%"  border ="0"  cellspacing ="0"  cellpadding ="0"  style ="font-size:12px; text-align:left" >
           < tr >
             < td >< div  style ="width:400px; border-bottom:1px dotted #999999; color:#333333; font-weight:bold" > 全部动态>> </ div ></ td >
           </ tr >
           < tr >
             < td >
             < div  id ="listTb"  class ="listul" ></ div >              </ td >
           </ tr >
           < tr >
             < td >
             < div  id ="refer" ></ div >              </ td >
           </ tr >
         </ table >

希望对大家的学习工作又所帮助, 欢迎提问反馈

转载于:https://www.cnblogs.com/cestbon/archive/2010/05/25/js_avaScript_ML.html

JavaScript 操作 XML 实例 (获取新闻标题并分页,并分页)相关推荐

  1. html获取xml分页,JavaScript操作XML实例代码(获取新闻标题并分页,并分页)

    具体内容我没有做测试.仅供参考 代码 新闻测试1新闻测试1 新闻测试2新闻测试2 新闻测试3新闻测试3 新闻测试4新闻测试4 新闻测试5新闻测试5 新闻测试6新闻测试6 新闻测试7新闻测试7 新闻测试 ...

  2. python获取新闻标题及发布时间

    最近因为手里头需要不断查看某校的新闻发布,不想频繁的刷新网页,于是就有了下面的这个轻量级的爬虫出现了,闲言少叙,步入正题~ 环境介绍: python 2.7 BS4(这是一个强大的三方moudle,现 ...

  3. c#操作xml实例 2009-03-13 20:00

    在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...

  4. javascript与xml实例应用

    xsl文件:js_xml.xsl <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet ...

  5. java解析xml实例——获取天气信息

    获取xml并解析其中的数据: package getweather.xml;import java.io.IOException; import java.util.HashMap; import j ...

  6. python爬虫——获取新闻标题

    打开要提取的新闻页面 右键->审查元素(N)进入开发者界面 进入Network,选中recording network log(红色圆点),筛选 (蓝色漏斗),然后重新加载页面.选择doc,左下 ...

  7. JavaScript操作XML(IE6下)

    <script type="text/javascript">          var x = "<floor id='STM_000003_A_1_ ...

  8. 【Python数据分析学习实例】动态新闻标题热点挖掘

    问题描述 新闻标题是新闻的主旨,从新闻标题中可以进行多种内容的挖掘,通过对学校新闻网的新闻进行分析获得热点词,基于这些标题中的热点词设计并实现构建词云的算法,最后根据词云模型统计热点词的词频,可以快速 ...

  9. ACL 2021 | PENS: 个性化新闻标题生成数据集

    (本文阅读时间:8 分钟) 编者按:数字信息时代人们获取新闻的方式越来越高效,但是获取新闻中关键信息的效率却很低.而 NLP 领域的新闻标题生成任务 (News Headline Generation ...

最新文章

  1. .net环境故障处理
  2. hdu 5179(bfs打表+二分)
  3. Performer:用随机投影将Attention的复杂度线性化
  4. PHP处理跨域:header(AccessControlAllowOrigin:星)允许所有来源访问;后端Curl请求转发
  5. kubelet启动失败_kubelet 架构浅析
  6. 24v开关电源维修技巧_康佳LED液晶彩电KPS+L1900C301电源板原理与维修
  7. Bloomfilter 的应用场景
  8. 【李宏毅2020 ML/DL】P112-114 Q-Learning: Introduction Tips Continuous Actions
  9. linux jdk路径
  10. go generate 生成代码
  11. HTML四季变换图,四季星空图
  12. 选择什么语言真的重要吗
  13. java小算盘金钱存银行1秒算出每一年的利息及存款,利息一目了然
  14. 访客统计php代码转换图片,PHP实现简单网站访客统计的方法实例
  15. sklearn库中的标准数据集及基本功能
  16. flash 火狐总是崩溃_火狐浏览器提示插件Adobe Flash已崩溃的解决方法
  17. IBTrACS Technical Documentation
  18. JSON.parse解析失败(报错,出错)
  19. esp8266,esp32中的SPI FLASH 访问模式(QIO QOUT DIO DOUT)
  20. E-R图与数据库模型学习心得

热门文章

  1. CSS图片自适应框架
  2. 《InsideUE4》GamePlay架构(十)总结
  3. Vue+SpringBoot+OSS+element实现图片上传服务器+图片展示墙
  4. SynchroTrap:基于相似度的异常检测算法
  5. 论掌握一项脚本技术的必要性
  6. Java生成二维码的几种实现方式(基于Spring Boot)
  7. 阿里巴巴中国站获得1688商品类目 API
  8. 专家揭秘八大优势专业
  9. 禁用计算机服务LanmanServer,Win10下禁用SMB服务释放445端口
  10. 在使用python中的使用 shapely 时报错