如何在同一XML文件中合并两个不同的子节点

时间:2011-06-29 14:31:15

标签: xml merge tags

我有一个XML文件,我想合并两个不同的CONTACT子节点。

我检查了这些网站,它显示了如何将两个不同的xml文件合并为一个文件。

http://www2.informatik.hu-berlin.de/~obecker/XSLT/#merge

Merge XML documents

在我的情况下,这是我在xml文件中的第一个联系人:

<CONTACT>
<PDE-Identity>N65539</PDE-Identity>
<FirstName>Arun_niit</FirstName>
<LastName>Arun_niit</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>yahoo</Type>
<Value>nura_ice@yahoo.co.in</Value>
</EMail>
</EMAILS>
</CONTACT>

这是文件中的第二个联系人:

<CONTACT>
<PDE-Identity>N65567</PDE-Identity>
<FirstName>Arun_niit</FirstName>
<LastName>Ramanathan</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>gmail</Type>
<Value>arun_niit@gmail.com</Value>
</EMail>
<EMail>
<Type>yahoo</Type>
<Value>nura_ice@yahoo.co.in</Value>
</EMail>
</EMAILS>
</CONTACT>

我知道这两个联系人都属于同一个人。如何在同一个xml文件中合并这两个联系人。

原始XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<CONTACTS>

<CONTACT>
<PDE-Identity>N65539</PDE-Identity>
<FirstName>Arun_niit</FirstName>
<LastName>Arun_niit</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>yahoo</Type>
<Value>nura_ice@yahoo.co.in</Value>
</EMail>
</EMAILS>
</CONTACT>

<CONTACT>   
<PDE-Identity>N65567</PDE-Identity>
<FirstName>Arun_niit</FirstName>
<LastName>Ramanathan</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>gmail</Type>
<Value>arun_niit@gmail.com</Value>
</EMail>
<EMail>
<Type>yahoo</Type>
<Value>nura_ice@yahoo.co.in</Value>
</EMail>
</EMAILS>
</CONTACT>


<CONTACT>
<PDE-Identity>N65567</PDE-Identity>
<FirstName>Rangarajkarthik</FirstName>
<LastName>karthik Rangaraj</LastName>
<Facebook-ID/>
<EMAILS>
<EMail>
<Type>gmail</Type>
<Value>kart2006@gmail.com</Value>
</EMail>
<EMail>
<Type>yahoo</Type>
<Value>karthikrangaraj@yahoo.com</Value>
</EMail>
</EMAILS>
</CONTACT>

<CONTACTS>

1 个答案:

答案 0 :(得分:0)

大多数浏览器都支持javascript中的XML解析。这是一个示例代码段,您必须对其进行调整以解析您的特定输入。

if (window.DOMParser)
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(text,"text/xml");
  }
else // Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(text);
  } 

有关详细信息,建议您对javascript xml dom进行Google搜索。