如何构造这个XML字符串?

小菜鸟2014 2014-02-07 04:47:40



问题是这样的

现在我在后台构造了一张表格

tr中我用一些标示区分了 XML结构的数据 如图可以看出

现在我想实现这样的功能 我想构造出这样的一个XML字符串 好传到一般处理页面处理XML数据

能够建立起父节点和子节点的数据

<?xml version="1.0" encoding="utf-8"?>
<items>
<item>
<objid>28</objid>
<col>
<name>1</name>
<val></val>
</col>
<col>
<name>2</name>
<val></val>
</col>
<col>
<name>5</name>
<val></val>
</col>
<col>
<name>6</name>
<val></val>
</col>
</item>
<item>
<objid>29</objid>
<col>
<name>1</name>
<val></val>
</col>
<col>
<name>2</name>
<val></val>
</col>
<col>
<name>5</name>
<val></val>
</col>
<col>
<name>6</name>
<val></val>
</col>
</item>
</items>
...全文
220 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyl8781697 2014-02-09
  • 打赏
  • 举报
回复
yyl8781697 2014-02-09
  • 打赏
  • 举报
回复
着实闲的蛋疼,给LZ写了一个JSON版本的(json比xml轻巧过了,传输效率也高,在ashx文件处理起来也方便)


<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://js.ue.766.com/common/jqLib/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="json2.js"></script>
</head>
<body>
<table>
<tr chargeProjectId="1" pid="28"></tr>
<tr chargeProjectId="2" pid="28"></tr>
<tr chargeProjectId="3" pid="28"></tr>
<tr chargeProjectId="4" pid="28"></tr>
<tr chargeProjectId="5" pid="28"></tr>
<tr chargeProjectId="1" pid="29"></tr>
<tr chargeProjectId="2" pid="29"></tr>
<tr chargeProjectId="3" pid="29"></tr>
<tr chargeProjectId="4" pid="29"></tr>
<tr chargeProjectId="5" pid="29"></tr>
</table>

<script type="text/javascript">
var data=new Array();//json数组对象
var itemDict={};//每一项的字典

$("table tr").each(function(i,n){
addItem($(this).attr("pid"),$(this).attr("chargeProjectId"),'');
})

function addItem(pid,name,value){
var row={name:name,value:value};//行数据

if(itemDict[pid]!=undefined)//该pid如果已经有过
{
data[itemDict[pid]].col.push(row);

}else{//初始化该pid的数据
itemDict[pid]=data.length;
var item={};
item.objectId=pid;
item.col=new Array();
item.col.push(row);
data.push(item);
}
}
alert(JSON.stringify(data));//json数组的字符串格式化

</script>
</body>
</html>


看图:

json2.js来这里下载
希望对LZ有帮助
Teln_小凯 2014-02-08
  • 打赏
  • 举报
回复
Teln_小凯 2014-02-08
  • 打赏
  • 举报
回复
huaneramn 2014-02-08
  • 打赏
  • 举报
回复
好麻烦。。。。。。。。。。。。。。。
myhope88 2014-02-08
  • 打赏
  • 举报
回复
有规则的话,就循环下就OK了嘛
H_Gragon 2014-02-08
  • 打赏
  • 举报
回复
机器人 2014-02-08
  • 打赏
  • 举报
回复
无非是个模板变换。如果用纯js的话,找个模板引擎。比如underscore 话说你能通过后台构造出table,也可以构造出xml保存在hidden呀。
  • 打赏
  • 举报
回复
用js的话,你就可以使用jQuery来查询。 一般来说,asp.net程序员的javascript水平几乎只有专注于javascript的程序员的水平的10%不到,因此在asp.net之类的论坛里讨论“像写桌面程序一样地开发稍微复杂一点的javascript程序”是不会有耐心给你写的。
小菜鸟2014 2014-02-07
  • 打赏
  • 举报
回复
要用js来构造这个字符窜。谢谢!

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧