作者tag:windows/.net web concerned CSDN 推荐tag:文件 数据 schema 内容 document xml
| 下一篇: 开心地走在程序路上
Javascript+DOM访问XML文件中的数据
1.生成XML文件。
在ADO里,用Recordset.Save方法可以保存查询内容至指定XML文件,这样生成的文件里面有很多内容是关于数据表的属性的,即<s:Schema></s:Schema>节点内容。我们需要的是<rs:data></rs:data>节点的内容。结构大体如下:Data.xml
<xml ...>
<s:Schema>
...
</s:Schema>
<rs:data>
<z:row PositionID='1001' PositionName='fdsafsd' CompanyID='1' PMID='1001' />
<z:row PositionID='1002' PositionName='.NET Developer' CompanyID='2' PMID='1002' />
</rs:data>
这里的<z:row />即为一个数据行,下一步就是显示这部分内容。
2.LoadXML文件。
<SCRIPT language=javascript>
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var currNode;
xmlDoc.async = false;
xmlDoc.load("Data.xml");
if (xmlDoc.parseError.errorCode != 0) {//如果打开文件出错
var myErr = xmlDoc.parseError;
document.write("You have error " + myErr.reason);
}
else
{
document.write("<hr size=1>");
xmlDoc.setProperty("SelectionLanguage", "XPath");
currNode = xmlDoc.documentElement.childNodes[1];//取得<rs:data>部分
alert(currNode.childNodes[0].attributes[0].value);//测试结果 for(i=0;i<currNode.childNodes.length;i++) //遍历每个'数据行'
{
for(j=0;j<currNode.childNodes[i].attributes.length;j++)//遍历行的每个属性
{
document.write(currNode.childNodes[i].attributes[j].name + " : " + currNode.childNodes[i].attributes[j].value + "<BR>");
}
document.write("<hr size=1>");
}
}
</script>
你看看这个
| 下一篇: 开心地走在程序路上
Javascript+DOM访问XML文件中的数据
1.生成XML文件。
在ADO里,用Recordset.Save方法可以保存查询内容至指定XML文件,这样生成的文件里面有很多内容是关于数据表的属性的,即<s:Schema></s:Schema>节点内容。我们需要的是<rs:data></rs:data>节点的内容。结构大体如下:Data.xml
<xml ...>
<s:Schema>
...
</s:Schema>
<rs:data>
<z:row PositionID='1001' PositionName='fdsafsd' CompanyID='1' PMID='1001' />
<z:row PositionID='1002' PositionName='.NET Developer' CompanyID='2' PMID='1002' />
</rs:data>
这里的<z:row />即为一个数据行,下一步就是显示这部分内容。
2.LoadXML文件。
<SCRIPT language=javascript>
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var currNode;
xmlDoc.async = false;
xmlDoc.load("Data.xml");
if (xmlDoc.parseError.errorCode != 0) {//如果打开文件出错
var myErr = xmlDoc.parseError;
document.write("You have error " + myErr.reason);
}
else
{
document.write("<hr size=1>");
xmlDoc.setProperty("SelectionLanguage", "XPath");
currNode = xmlDoc.documentElement.childNodes[1];//取得<rs:data>部分
alert(currNode.childNodes[0].attributes[0].value);//测试结果 for(i=0;i<currNode.childNodes.length;i++) //遍历每个'数据行'
{
for(j=0;j<currNode.childNodes[i].attributes.length;j++)//遍历行的每个属性
{
document.write(currNode.childNodes[i].attributes[j].name + " : " + currNode.childNodes[i].attributes[j].value + "<BR>");
}
document.write("<hr size=1>");
}
}
</script>
你看看这个
解决方案 »
- 传值、绑定问题 求方法?????
- 在 .net 中如何利用jquery实现ajax跨域请求 ?
- 很菜的问题,浏览器不支持中文件文件名吗??
- 写了个存储过程,需要写一个什么样的中间函数来调用它?????
- session.count
- 在DATAGRID中使用模版列DROPDOWNLIST如何获取它的值
- 绑定datagrid后,增加了四个模板列,怎么样让他显示的时候显示textbox
- 《ASP.net XML 高级编程 - C#编程篇》的代码谁有啊??
- 一个菜问题,怎么显示中文?
- 有哪位老兄用过.NET操纵Excel的例子,小弟100分相赠,如不够再加!
- 求,一个好的日历控件!!!!梅花雨日历控件,套用母板页,在子页中加载就会抱错
- ASP.net
<aa attribute=101>
<title>123456</title>
</aa>
<aa attribute=102>
<title>123456</title>
</aa>
<aa attribute=103>
<title>123456</title>
</aa>
大概是这个样子。去网上搜索相关的代码吧,读取attribute就行了
我需要的就是:
读取type
因为我这是有多级的分类的,写在同一xml里~
只是各自对应的type不同!
想读取其中对应分类的标题~~~~~~
大哥们有办法没?不能的话,我就只能每个type对应一个xml了!这样非常烦琐也不便于管理
js读取xml我会~
遍历读取我方法很多,都是从第一个开始读取的!
我想的是读取其中任何一个而不通过attribute的方法~而是自定义的type~
大家帮帮忙嘛!
where 高手何在??
通过js读Dom对象行不?前面借用火箭哥的
<SCRIPT language="javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var currNode;
xmlDoc.async = false;
xmlDoc.load("Data.xml");
var title="";
if (xmlDoc.parseError.errorCode != 0) {//如果打开文件出错
var myErr = xmlDoc.parseError;
document.write("You have error " + myErr.reason);
}
else
{
var types = xmlDoc.getElementsByTagName("type");
for(var i=0; i < types.length; i++)
{
//debugger;
if(types[i].text == "103")
{
var myTitle = types[i].nextSibling;
title = myTitle.text;
}
}
}
alert(title);
</SCRIPT>
比如同属于<item><type>103</type>....<pic>sad.jpg</pic><title>123456</title></item>
读取103下的pic和title节点?不一定是下一条!
比如同属于<item><type>103</type>....<pic>sad.jpg</pic><title>123456</title></item>
读取103下的pic和title节点?不一定是下一条!
xmlDoc.selectSingleNode("/title")
接上面给的例子,后面的代码改下:
var brothors= types[i].parentNode.childNodes;
for(var j=0;j<brothors.length;j++)
{
if(brothors[j].tagName=="title")
title=brothors[j].text;
}