手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >xml 封装与解析(javascript和C#中)
xml 封装与解析(javascript和C#中)
摘要:1.xml的解析(javascript中):具体代码如下,解析的结果root为Dom树。复制代码代码如下:if(window.ActiveX...

1.xml的解析(javascript中):

具体代码如下,解析的结果root为Dom树。

复制代码 代码如下:

if (window.ActiveXObject){

var doc=new ActiveXObject("Microsoft.XMLDOM");

doc.async="false";

doc.loadXML(strXml);

}else{

var parser=new DOMParser();

var doc=parser.parseFromString(strXml,"text/xml");

}

var root = doc.documentElement;

2.xml的封装(javascript中):

(该代码为将页面中table封装为一个xml)

复制代码 代码如下:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");

xmlDoc.loadXML("<Rows></Rows>");

var root = xmlDoc.documentElement;

for(var index=0;index<this.table.rows.length;index++)

{

var row = xmlDoc.createElement("Row");

for(var colIndex = 0;colIndex<this.table.rows[index].cells.length;colIndex++)

{

var currentCell = this.table.rows[index].cells[colIndex];

var cell = 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#)

具体方法如下,

复制代码 代码如下:

XmlDocument doc = new XmlDocument();

doc.LoadXml("<Data></Data>");

XmlElement root = doc.DocumentElement;

root.SetAttribute("Name", name);//此处name为该xml赋一个Name属性

foreach (ListObject Object in ListResult)//其中listResult为一个由listObject对象组成的list表,其中object为listResult的一个元素,他是ListObject型的

{

XmlElement item = doc.CreateElement("Item");

item.SetAttribute("Key", Object.key);//其中key,value分别为Object的属性元素

item.SetAttribute("Value", Object.Value);

root.AppendChild(item);

}

最后生成的root即为xml.

4.xml的解析(c#)

复制代码 代码如下:

XmlDocument doc = new XmlDocument();

try

{

doc.Load(Request.InputStream);//此处加载request请求的xml流

}

catch (Exception e)

{}

XmlNodeList rowList;

rowList = doc.DocumentElement.SelectNodes("Row");

List<ObjectVO> voList = new List<ObjectVO>(rowList.Count);//初始化一个List,改list中组成元素是ObjectVO对象

foreach (XmlNode row in rowList)

{

ObjectVO VO = new ObjectVO();

VO.VOElement1 = Convert.ToInt32((row.SelectSingleNode("Cell[@Name='VOElement1']") as XmlElement).GetAttribute("Value"));//vo中元素VOElement1为int型

VO.VOElement2 = (row.SelectSingleNode("Cell[@Name='VOElement2']") as XmlElement).GetAttribute("Value").ToString();//或取xml中cell元素中name为VOElement2的value属性的值

VO.VOElement3 = (row.SelectSingleNode("Cell[@Name='VOElement3']") as XmlElement).GetAttribute("Value").ToString();

voList.Add(VO);

}

return voList;

【xml 封装与解析(javascript和C#中)】相关文章:

解析javascript中鼠标滚轮事件

学习javascript文件加载优化

深入浅出理解javaScript原型链

浅谈javascript中的闭包

JavaScript中的this机制

简介JavaScript中charAt()方法的使用

谈一谈javascript闭包

JavaScript AOP编程实例

理解javascript封装

简单分析javascript面向对象与原型

精品推荐
分类导航