xml 封装与解析(javascript和C#中)_javascript技巧
程序员文章站
2022-05-10 14:47:24
...
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(" ");
var root = xmlDoc.documentElement;
for(var index=0;index{
var row = xmlDoc.createElement("Row");
for(var colIndex = 0;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("");
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 voList = new List(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;
具体代码如下,解析的结果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("
var root = xmlDoc.documentElement;
for(var index=0;index
var row = xmlDoc.createElement("Row");
for(var colIndex = 0;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("");
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
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;
上一篇: php与国付宝对接过程吐槽
推荐阅读
-
JavaScript中的null和undefined解析_javascript技巧
-
JavaScript中的null和undefined解析_javascript技巧
-
javascript中callee与caller的用法和应用场景_javascript技巧
-
xml 封装与解析(javascript和C#中)_javascript技巧
-
js中opener与parent的区别详细解析_javascript技巧
-
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同_javascript技巧
-
xml 封装与解析(javascript和C#中)_javascript技巧
-
javascript中callee与caller的用法和应用场景_javascript技巧
-
JSON序列化与解析原生JS方法且IE6和chrome测试通过_javascript技巧
-
js中substring和substr的详细介绍与用法_javascript技巧