如何拼接两结构相同的XML文档
2009-09-02 22:10
141 查看
在工作中遇到这样的问题:
在主表单中用户可以添加5项产品
多余的产品必须打开另外一张表单以附件形式添加
最后保存的时候将主表单和附件表单的数据一起提交,以下是我的实现方式:
var [b]xmlAccessories = createDomDocument();
var [b]xmlInsertDoc = createDomDocument();[/b]
xmlAccessories.loadXML(“<DETAILS>
<TABLE>
<Res>6</Res>
<Type>6</Type>
<Magnitude>6</Magnitude>
<Budget>6</Budget>
<Price>36</Price>
<Date>2009-09-06</Date>
</TABLE>
<TABLE>
<Res>7</Res>
<Type>7</Type>
<Magnitude>7</Magnitude>
<Budget>7</Budget>
<Price>49</Price>
<Date>2009-09-07</Date>
</TABLE>
</DETAILS>”);
xmlInsertDoc.loadXML( "<DETAILS>
<TABLE>
<Res>1</Res>
<Type>1</Type>
<Magnitude>1</Magnitude>
<Budget>1</Budget>
<Price>1</Price>
<Date>2009-09-01</Date>
</TABLE>
<TABLE>
<Res>2</Res>
<Type>2</Type>
<Magnitude>2</Magnitude>
<Budget>2</Budget>
<Price>4</Price>
<Date>2009-09-02</Date>
</TABLE>
<TABLE>
<Res>3</Res>
<Type>3</Type>
<Magnitude>3</Magnitude>
<Budget>3</Budget>
<Price>9</Price>
<Date>2009-09-03</Date>
</TABLE>
<TABLE>
<Res>4</Res>
<Type>4</Type>
<Magnitude>4</Magnitude>
<Budget>4</Budget>
<Price>16</Price>
<Date>2009-09-04</Date>
</TABLE>
<TABLE>
<Res>5</Res>
<Type>5</Type>
<Magnitude>5</Magnitude>
<Budget>5</Budget>
<Price>25</Price>
<Date>2009-09-05</Date>
</TABLE>
</DETAILS>");
var nodeAccess = xmlAccessories.documentElement;
var nodeDetails = xmlInsertDoc.documentElement.selectSingleNode("DETAILS");
//var nodeTable = nodeAccess.firstChild;
//while(nodeTable!=null)
//{
// nodeDetails.appendChild(nodeTable.cloneNode(true));
// nodeTable=nodeTable.nextSibling;
//}
for(var i=nodeAccess.childNodes.length-1;i>=0;i--)
{
var nodeTable = nodeAccess.childNodes[i];
nodeDetails.appendChild(nodeTable);
}[/b]
在主表单中用户可以添加5项产品
多余的产品必须打开另外一张表单以附件形式添加
最后保存的时候将主表单和附件表单的数据一起提交,以下是我的实现方式:
var [b]xmlAccessories = createDomDocument();
var [b]xmlInsertDoc = createDomDocument();[/b]
xmlAccessories.loadXML(“<DETAILS>
<TABLE>
<Res>6</Res>
<Type>6</Type>
<Magnitude>6</Magnitude>
<Budget>6</Budget>
<Price>36</Price>
<Date>2009-09-06</Date>
</TABLE>
<TABLE>
<Res>7</Res>
<Type>7</Type>
<Magnitude>7</Magnitude>
<Budget>7</Budget>
<Price>49</Price>
<Date>2009-09-07</Date>
</TABLE>
</DETAILS>”);
xmlInsertDoc.loadXML( "<DETAILS>
<TABLE>
<Res>1</Res>
<Type>1</Type>
<Magnitude>1</Magnitude>
<Budget>1</Budget>
<Price>1</Price>
<Date>2009-09-01</Date>
</TABLE>
<TABLE>
<Res>2</Res>
<Type>2</Type>
<Magnitude>2</Magnitude>
<Budget>2</Budget>
<Price>4</Price>
<Date>2009-09-02</Date>
</TABLE>
<TABLE>
<Res>3</Res>
<Type>3</Type>
<Magnitude>3</Magnitude>
<Budget>3</Budget>
<Price>9</Price>
<Date>2009-09-03</Date>
</TABLE>
<TABLE>
<Res>4</Res>
<Type>4</Type>
<Magnitude>4</Magnitude>
<Budget>4</Budget>
<Price>16</Price>
<Date>2009-09-04</Date>
</TABLE>
<TABLE>
<Res>5</Res>
<Type>5</Type>
<Magnitude>5</Magnitude>
<Budget>5</Budget>
<Price>25</Price>
<Date>2009-09-05</Date>
</TABLE>
</DETAILS>");
var nodeAccess = xmlAccessories.documentElement;
var nodeDetails = xmlInsertDoc.documentElement.selectSingleNode("DETAILS");
//var nodeTable = nodeAccess.firstChild;
//while(nodeTable!=null)
//{
// nodeDetails.appendChild(nodeTable.cloneNode(true));
// nodeTable=nodeTable.nextSibling;
//}
for(var i=nodeAccess.childNodes.length-1;i>=0;i--)
{
var nodeTable = nodeAccess.childNodes[i];
nodeDetails.appendChild(nodeTable);
}[/b]
相关文章推荐
- xml schema 描述xml文档结构
- XML文档结构(转)
- XML文档结构
- 如何跨浏览器读取xml文档
- [VB.NET]请问在VB.NET中如何把两幅大小相同的图像左右或上下拼接成一张整图呢!
- 如何合并两个结构相同的DataTable
- 转:查询出来2条记录,如何拼接相同的字段的内容
- 文档/视图结构中的各个部分是如何联系到一起的
- MS Visio软件的XML文档结构
- 如何得到XML文档大小
- mysql如何快速创建相同结构的表
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?
- 如何在不知道xml结构时用jdom解析
- 如何使用WebBrowser控件打印格式化的XML文档,并以编程方式任意设置打印方向(C#完整示例)
- DTD——描述xml的文档结构
- Visual Basic中如何利用DOM对象将数据输出到XML文档中
- c# 中如何获取xml文档中最后的一个节点的值
- 【XML】文档结构与语法规则
- DTD文档的结构---3.3.1: 验证XML文档的有效性
- 如何用JDom读取XML文档(转载)