xml封装与解析(javascript和C#中)
2023-06-13 09:14:11 时间
1.xml的解析(javascript中):
具体代码如下,解析的结果root为Dom树。
复制代码代码如下:
具体代码如下,解析的结果root为Dom树。
if(window.ActiveXObject){
vardoc=newActiveXObject("Microsoft.XMLDOM");
doc.async="false";
doc.loadXML(strXml);
}else{
varparser=newDOMParser();
vardoc=parser.parseFromString(strXml,"text/xml");
}
varroot=doc.documentElement;
2.xml的封装(javascript中):
(该代码为将页面中table封装为一个xml)
varxmlDoc=newActiveXObject("Microsoft.XMLDOM");
xmlDoc.loadXML("<Rows></Rows>");
varroot=xmlDoc.documentElement;
for(varindex=0;index<this.table.rows.length;index++)
{
varrow=xmlDoc.createElement("Row");
for(varcolIndex=0;colIndex<this.table.rows[index].cells.length;colIndex++)
{
varcurrentCell=this.table.rows[index].cells[colIndex];
varcell=xmlDoc.createElement("Cell");
cell.setAttribute("Name",this.table.columns[colIndex].id);
cell.setAttribute("Value",currentCell.value);
row.appendChild(cell);
}
root.appendChild(row);
}
对于ajax实现前台xml到后台的传输可以参考jquery实现xml的前后台传输。
3.xml的封装:(C#)
具体方法如下,
XmlDocumentdoc=newXmlDocument();
doc.LoadXml("<Data></Data>");
XmlElementroot=doc.DocumentElement;
root.SetAttribute("Name",name);//此处name为该xml赋一个Name属性
foreach(ListObjectObjectinListResult)//其中listResult为一个由listObject对象组成的list表,其中object为listResult的一个元素,他是ListObject型的
{
XmlElementitem=doc.CreateElement("Item");
item.SetAttribute("Key",Object.key);//其中key,value分别为Object的属性元素
item.SetAttribute("Value",Object.Value);
root.AppendChild(item);
}
最后生成的root即为xml.
4.xml的解析(c#)
XmlDocumentdoc=newXmlDocument();
try
{
doc.Load(Request.InputStream);//此处加载request请求的xml流
}
catch(Exceptione)
{}
XmlNodeListrowList;
rowList=doc.DocumentElement.SelectNodes("Row");
List<ObjectVO>voList=newList<ObjectVO>(rowList.Count);//初始化一个List,改list中组成元素是ObjectVO对象
foreach(XmlNoderowinrowList)
{
ObjectVOVO=newObjectVO();
VO.VOElement1=Convert.ToInt32((row.SelectSingleNode("Cell[@Name="VOElement1"]")asXmlElement).GetAttribute("Value"));//vo中元素VOElement1为int型
VO.VOElement2=(row.SelectSingleNode("Cell[@Name="VOElement2"]")asXmlElement).GetAttribute("Value").ToString();//或取xml中cell元素中name为VOElement2的value属性的值
VO.VOElement3=(row.SelectSingleNode("Cell[@Name="VOElement3"]")asXmlElement).GetAttribute("Value").ToString();
voList.Add(VO);
}
returnvoList;
相关文章
- C# List去重的三种方法「建议收藏」
- javascript_JavaScript走向成熟
- TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱
- 还在手画C#依赖关系图吗?快来试试这个工具吧!
- c# 多线程并发-金三银四面试:C#.NET面试题高级篇2-多线程
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- 【地铁上的Redis与C#】数据类型--string类型数据的扩展操作
- 关于C# XML序列化的一个BUG的修改详解编程语言
- JavaScript学习总结(九)——Javascript面向(基于)对象编程详解编程语言
- C#/.NET编译原理和跨平台特性
- 传智播客C#编程基础免费下载
- 分享一个c#写的开源分布式消息队列equeue
- C操作MySQL如何使用触发器(c# mysql触发器)
- JavaScript与C#Windows应用程序交互方法
- Javascript常用运算符(Operators)-javascript基础教程
- C#javaScript函数的相互调用
- c#.net常用函数和方法集
- javascript与asp.net(c#)互相调用方法
- Javascript异步加载详解(浏览器在javascript的加载方式)
- JavaScript高级程序设计阅读笔记(十六)javascript检测浏览器和操作系统-detect.js
- c#类型转换
- C#HttpClientCookie验证解决方法
- C#数据导入/导出Excel文件及winForm导出Execl总结
- C#使用非托管代码直接修改字符串的方法
- C#无边框窗体之窗体移动实现代码
- 利用noesis.Javascript开源组件.Net中执行javascript脚本
- c#后台输出javascript语句示例程序
- c#根据文件大小显示文件复制进度条实例
- Asp.Net(C#)自动执行计划任务的程序实例分析分享
- C#执行Javascript代码的几种方法总结
- c#使用微信接口开发微信门户应用