2011-06-29 29 views
0

XMLファイルがあり、2つの異なるCONTACT子ノードをマージしたいと思います。同じXMLファイル内の2つの異なる子ノードをマージする方法

私は、2つの異なるxmlファイルを1つのファイルにマージする方法を示しています。私の場合は

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>[email protected]</Value> 
</EMail> 
</EMAILS> 
</CONTACT> 

は、これはファイルの2番目の接点である:

<CONTACT> 
<PDE-Identity>N65567</PDE-Identity> 
<FirstName>Arun_niit</FirstName> 
<LastName>Ramanathan</LastName> 
<Facebook-ID/> 
<EMAILS> 
<EMail> 
<Type>gmail</Type> 
<Value>[email protected]</Value> 
</EMail> 
<EMail> 
<Type>yahoo</Type> 
<Value>[email protected]</Value> 
</EMail> 
</EMAILS> 
</CONTACT> 

私は連絡先の両方が同じ人に属していることを知っているに。どのように私はこれらの2つの連絡先を同じXM​​Lファイルにマージできますか?

オリジナル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>[email protected]</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>[email protected]</Value> 
</EMail> 
<EMail> 
<Type>yahoo</Type> 
<Value>[email protected]</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>[email protected]</Value> 
</EMail> 
<EMail> 
<Type>yahoo</Type> 
<Value>[email protected]</Value> 
</EMail> 
</EMAILS> 
</CONTACT> 

<CONTACTS> 
+0

ようこそ。あなたの質問に答えるには、あなたが取り組んでいる環境についてもっと知る必要があります。あなたはXSLTを使用する予定ですか?テキストエディタ? 「マージ」と言うと、姓などの競合するデータ項目を使って何をするつもりですか?競合にどう対応するかを「知っている」一般的な解決策を書くことはできません。 –

+0

こんにちはJim Garrison、ありがとうございました。私はこれをどのように進めるのか分かりませんが、XULを使ってFirefox拡張機能を開発しています。私はこの情報をXUL形式またはHTML形式でユーザーに表示し、同じXMLファイル内の2つの異なる連絡先をマージさせる方法を知りたいと思います。たとえば、2つの選択された2つの異なる連絡先をチェックボックスに入れ、ボタンをマージすることができます。それは正しい方法ですか?私が混乱している場合は、私に返信してください。ありがとうございました。 – user838691

+0

あなたがしようとしているのは、ユーザーインターフェイスを必要とする比較的複雑な作業です。そのため、ユーザーは自分の内線に競合の処理方法を伝えることができます。このようなインターフェースがなければ、拡張は役に立たないでしょう。あなたの仕事のほとんど(つまり90%)がインターフェイスの設計と実装に入り、ユーザーが各競合で何をすべきかを教えた後に連絡先をマージするのは簡単な作業です。 –

答えて

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検索をお勧めします。

+0

これは私がさらに進んでいくのに役立ちます、ありがとう。 – user838691

関連する問題