GVKun编程网logo

JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)(js读取xml格式内容)

5

本文的目的是介绍JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)的详细情况,特别关注js读取xml格式内容的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一

本文的目的是介绍JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)的详细情况,特别关注js读取xml格式内容的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)的机会,同时也不会遗漏关于Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库、Android采用File形式保存与读取数据的方法、AngularJS读取JSON及XML文件的方法示例、C#从文件流读取xml文件到DataSet并显示的方法的知识。

本文目录一览:

JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)(js读取xml格式内容)

JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)(js读取xml格式内容)

本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法。分享给大家供大家参考,具体如下:

先看xml文件:

rush:xml;"> 张秋丽 18 李文才 31 李斯文 22 马英 25 孙红雷 32 欧阳俊雄 28 江琳 23 小小 22

aspx页面代码:

rush:csharp;"> <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="获取数据库数据生成XML.aspx.cs" Inherits="Chapter1.获取数据库数据生成XML" %>

上面的JS操作主要就避免了使用childNodes(因为火狐中有时候会出现childNodes[0]获取到的是"\n"而不是我们想要的第一个子节点,这个自己可以去试下,反正我是遇到了这种情况),使得可以兼容IE、火狐,其他浏览器我没试。

更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》、《》及《》

希望本文所述对大家JavaScript程序设计有所帮助。

Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库

Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库


Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与jsp的数据交互,第三部分为javabean实现数据的插入。本文为该过程的第一部分即构建解析xml文件的javascript库。

本文以以下xml文件为例进行解析:

?xml version="1.0" encoding="GB18030"?> <states> <users> <userId >001 <userName>john</userName> <rootManage>commomUser</rootManage> </userId> <userId>002 <userName>jim</userName> <rootManage>manager</rootManage> </userId> <userId>003 <userName>mat</userName> <rootManage>superManager</rootManage> </userId> </users> </states>


对于以上xml文件的解析涉我们分四种不同的情况进行:

(1)取得第任意个标签名为nodeName下的子标签名为childNodeName的值。该函数中nodeName为任意标签名,xmlName为需要解析的xml文件的路径,childNodeName为nodeName下的子标签名,nodeNo指的是第几个nodeName。以上面的xml文件为例,如果我们想要获取第一个标签名为userId标签下的userName标签下的值,那么我们调用该方法所输入的参数应该为:readOneLable("userId","authority.xml,"userName",0),返回结果为一个数组,该数组中盛放的数据便是“john“

function readOneLable(nodeName,xmlName,childNodeName,nodeNo){ var my_array = new Array(); //加载xml文件 xmlDoc=loadXMLDoc(xmlName); //取得节点名为nodeName的节点 var d = xmlDoc.getElementsByTagName(nodeName)[nodeNo]; var ab = d.childNodes; for(var i = 0;i<ab.length;i++){ if(ab[i].nodeName == childNodeName){ my_array.push(ab[i].childNodes[0].nodeValue); } } return my_array; }
(2)取得标签名为nodeName下的所有子标签名为childNodeName的值。该函数中nodeName为任意标签名,xmlName为需要解析的xml文件的路径,childNodeName为nodeName下的子标签名。以以上xml文件为例,我们需要获取userId标签下的所有userName标签的值,那么我们调用该方法传入的参数为:readAllLable("authority.xml","userId","userName"),调用该方法返回的结果为一个数组,盛放的内容为”jhon“,"jim","mat"。 function readAllLable(xmlName,nodeName,childNodeName){ var my_array = new Array(); //加载xml文件 xmlDoc=loadXMLDoc(xmlName); var d = xmlDoc.getElementsByTagName(nodeName); for(var i=0;i<d.length;i++){ var ab = d[i].childNodes; for(var k=0;k<ab.length;k++){ if(ab[k].nodeName == childNodeName){ my_array.push(ab[k].childNodes[0].nodeValue); } } } return my_array; } (3)取得标第一个签名为nodeName下的所有子标签的值。该函数中nodeName为任意标签名,xmlName为需要解析的xml文件的路径,以以上xml文件为例,我们需要获取第一个标签名为userId下的所有子标签的值,那么调用该方法传入的参数为:readOneChildNode("authority.xml","userId"),调用该方法返回的值为一个数组,该数组中盛放的内容为 ”john“,"commonUser"。

function readOneChildNode(xmlName,nodeName){ var my_array = new Array(); //加载xml文件 xmlDoc=loadXMLDoc(xmlName); var d = xmlDoc.getElementsByTagName(nodeName)[0].childNodes; my_array.push(d[0].nodeValue); for(var i=0;i<d.length;i++){ if(d[i].nodeName !="#text"){ my_array.push(d[i].childNodes[0].nodeValue); } } return my_array; } (4)取得所有标签名为nodeName下的所有子标签的值。该函数中nodeName为任意标签名,nodeName为需要解析的xml文件的路径,意义上xml文件为例,我们需要获取标签名为userId下的所有子标签的值,那么调用该方法需要传入的参数为:readAllChildNode("authority.xml","userId"),调用该方法返回的值为一个数组,该数组中盛放的内容为”john“,”commonUser“,”jim“,"manager","mat","superManager"。

function readAllChildNode(xmlName,nodeName){ var my_array = new Array(); //加载xml文件 xmlDoc=loadXMLDoc(xmlName); var d = xmlDoc.getElementsByTagName(nodeName); for(var i=0;i<d.length;i++){ var m = d[i].childNodes; my_array.push(d[i].childNodes[0].nodeValue); for(var k=0;k<m.length;k++){ if (m[k].nodeName != "#text") { my_array.push(m[k].childNodes[0].nodeValue); } } } return my_array; }

至此,简单的解析xml文件的js库构建完毕,可以根据自己的需要通过调用不同的方法来取得相应节点的值。在下一篇文章中将会介绍使用ajax与jsp进行数据交互。


Ajax实现xml文件数据插入数据库(二)---ajax实现与jsp的数据交互。

Ajax实现xml文件数据插入数据库(三)---javaBean实现数据库插入。

Android采用File形式保存与读取数据的方法

Android采用File形式保存与读取数据的方法

本文实例讲述了Android采用File形式保存与读取数据的方法。分享给大家供大家参考,具体如下:

将数据直接以文件的形式保存在设备中,通过Context.openFileinput()方法获得标准的JAVA文件输入流(FileInputStream),通过Context.openFileOutput()方法获得标准的JAVA文件输出流(FileOutputStream)

写数据到file文件中

findViewById(R.id.file).setonClickListener(new Button.OnClickListener() {
  @Override
  public void onClick(View v) {
    try {
    //可写入的方式创建或打开huangbiao.txt文件
    //该文件的路径是/data/data/包名/files/huangbiao.txt
      FileOutputStream fos = openFileOutput("huangbiao.txt",Context.MODE_APPEND);
    //将字符串写入到文件中
      fos.write("huangbiao".getBytes());
    //关闭数据流
      fos.close();
    } catch (FileNotFoundException e) {
      // Todo Auto-generated catch block
      e.printstacktrace();
    } catch (IOException e) {
      // Todo Auto-generated catch block
      e.printstacktrace();
    }
  }
});

读取数据的方法

findViewById(R.id.read_file).setonClickListener(new Button.OnClickListener() {
  @Override
  public void onClick(View v) {
    FileInputStream fis;
    try {
    //打开文件并得到InputStream对象
      fis = openFileInput("huangbiao.txt");
    //available()返回估算需要的空间长度
      byte[] buffer = new byte[fis.available()];
    //把数据流的内容写入buffer中
      fis.read(buffer);
      String aaa = new String(buffer);
      System.out.println(aaa);
      fis.close();
    } catch (FileNotFoundException e) {
      // Todo Auto-generated catch block
      e.printstacktrace();
    } catch (IOException e) {
      // Todo Auto-generated catch block
      e.printstacktrace();
    }
  }
});

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

AngularJS读取JSON及XML文件的方法示例

AngularJS读取JSON及XML文件的方法示例

本文实例讲述了AngularJS读取JSON及XML文件的方法。分享给大家供大家参考,具体如下:

<!doctype html>
<meta charset="UTF-8">
<html ng-app=''routingDemoApp''>
<head>
 <title>AJAX and promise</title>
 <link href="bootstrap.min.css" rel="external nofollow" rel="stylesheet">
 <link href="self.css" rel="external nofollow" rel="stylesheet">
</head>
<body >
<divng-controller="AjaxJson"> <!--创建控制器-->
 <div>
  <table>
   <thead>
   <tr>
    <td>名</td>
    <td>种类</td>
    <td>价格</td>
    <td>保质期</td>
   </tr>
   </thead>
   <tbody>
   <tr ng-hide="products.length">
    <td colspan="4">没有数据</td>
     <!--当没有数据的时候,显示这行,有数据的时候,隐藏。-->
   </tr>
   <tr ng-repeat="item in products"> <!--将数据放到item里面,逐一读取-->
    <td ng-bind="item.name"></td>
    <td ng-bind="item.category"></td>
    <td ng-bind="item.price"></td>
    <td ng-bind="item.expiry"></td>
   </tr>
   </tbody>
  </table>
  <p><button ng-click="LoadJson()">加载JSON数据</button></p><!--触发函数-->
 </div>
</div>
<divng-controller="AjaxXml">
 <div>
  <table>
   <thead>
   <tr>
    <td>名</td>
    <td>种类</td>
    <td>价格</td>
    <td>保质期</td>
   </tr>
   </thead>
   <tbody>
   <tr ng-hide="products.length">
    <td colspan="4">没有数据</td>
   </tr>
   <tr ng-repeat="item in products">
    <td ng-bind="item.name"></td>
    <td ng-bind="item.category"></td>
    <td ng-bind="item.price"></td>
    <td ng-bind="item.expiry"></td>
   </tr>
   </tbody>
  </table>
  <p><button ng-click="LoadXml()">加载xml数据</button></p>
 </div>
</div>
<script src="angular.min.js"></script>
<script src="angular-ui-router.js"></script>
<script src="ajax2.js"></script>
</body>
</html>

/*js*/
var app=angular.module("routingDemoApp",[]);
app.controller("AjaxJson",function($scope,$http){
 $scope.LoadJson=function(){
  $http.get("json.json")
   .success(function(data){
    $scope.products = data;
   })
   .error(function(){
    alert("出错")
   });
 };
});
app.controller("AjaxXml",function($scope,$http){
 $scope.LoadXml = function(){
  $http.get("xml.xml")
   .success(function(data){
    $scope.products = [];
    var productsElements = angular.element(data.trim()).find("product");
    for(var i=0;i<productsElements.length;i++){
     var product = productsElements.eq(i);
     $scope.products.push({
      name:product.attr("name"),
      category:product.attr("category"),
      price:product.attr("price"),
      expiry:product.attr("expiry")
     });
    }
   })
   .error(function(){
    alert("错误");
   })
 };
});

/*json*/
[
 {"name":"apple","category":"fruit","price":"1.5","expiry":10},
 {"name":"banana","category":"fruit","price":"1.3","expiry":14},
 {"name":"pears","category":"fruit","price":"1.2","expiry":15},
 {"name":"tuna","category":"fish","price":"1.0","expiry":16}
]

 

/*xml*/
<products>
 <product name="apple" category="fruit" price="1.5" expiry="10" />
 <product name="banana" category="fruit" price="14" expiry="14" />
 <product name="pears" category="fruit" price="1.3" expiry="13" />
 <product name="tuna" category="fish" price="1.2" expiry="12" />
</products>

JSON:

1)配置对应的控制器,将scope和http服务注入该控制器中。

2)使用$http.get(),把将要读取的数据文件的url写入。

3)使用回调函数,成功时,将所得的data赋给$scope作用域下的变量products。

4)由前台使用no-repeat指令进行遍历逐一取出数据。

XML:

1)配置对应的控制器,将$scope和http服务注入该控制器中。

2)使用$http.get(),把将要读取的数据文件的url写入。

3)使用回调函数,在success里面进行成功读取XML数据时的操作。

4)定义一个$scope创建的作用域下的(也就会前台可以访问)数组变量products,后面会将读取到的数据逐一插入到里面。

5)定义一个数据变量productElements,将XML文件里面的<product> 里的信息赋值给他。这里使用了trim()方法,原因是使用JS读取XML文件时前后会出现许多空字符。trim()方法可以将空字符去除。

6)使用for循环,将变量productElements里面每个<product> 的内容都插入到之前定义好的数组变量products里面。

7)由前台使用no-repeat指令进行遍历逐一取出数据。

PS:这里再为大家提供几款关于xml与json操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

希望本文所述对大家AngularJS程序设计有所帮助。

您可能感兴趣的文章:
  • Angularjs根据json文件动态生成路由状态的实现方法
  • 使用AngularJS 跨站请求如何解决jsonp请求问题
  • AngularJS中的JSONP实例解析
  • AngularJS表单验证功能分析
  • AngularJS内置指令
  • AngularJS 日期格式化详解
  • Angularjs中UI Router全攻略
  • AngularJS入门教程之学习环境搭建
  • AngularJS获取json数据的方法详解

C#从文件流读取xml文件到DataSet并显示的方法

C#从文件流读取xml文件到DataSet并显示的方法

本文实例讲述了C#从文件流读取xml文件到DataSet并显示的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:
DataSet ds= new DataSet ();
FileStream fs = new FileStream (Server.MapPath=("somexml.xml"),FileMode.Open,FileAccess.Read);
ds.readxml (fs);
DataGrid1.DataSource = ds;
DataGrid1.DataBind ();

希望本文所述对大家的C#程序设计有所帮助。

我们今天的关于JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)js读取xml格式内容的分享就到这里,谢谢您的阅读,如果想了解更多关于Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库、Android采用File形式保存与读取数据的方法、AngularJS读取JSON及XML文件的方法示例、C#从文件流读取xml文件到DataSet并显示的方法的相关信息,可以在本站进行搜索。

本文标签:

上一篇JS脚本实现动态给标签控件添加事件的方法(js动态生成的标签怎么添加事件)

下一篇JS从一组数据中找到指定的单条数据的方法(js从一组数据中找到指定的单条数据的方法是)