2016-09-08 15 views
1

私はここで同じ質問をしています:What is the fastest way to combine two xml files into one 残念ながら、そこに与えられた答えはうまくいきません。2つのXMLファイルを1つのファイルにまとめる

私はまったく同じ問題を抱えています。 私は2つのファイルを持っている:

XML1:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Results> 
    <Memory> 
    <instance00> 
     <PageFaultsPersec> 
     <sample time="9/8/2016 12:02:51 PM" value="1401.112" /> 
     <sample time="9/8/2016 12:02:52 PM" value="242.3494" /> 
     <sample time="9/8/2016 12:02:53 PM" value="303.1362" /> 
     </PageFaultsPersec> 
     <AvailableBytes> 
     <sample time="9/8/2016 12:02:51 PM" value="1.116967E+09" /> 
     <sample time="9/8/2016 12:02:52 PM" value="1.11702E+09" /> 
     <sample time="9/8/2016 12:02:53 PM" value="1.11761E+09" /> 
     </AvailableBytes> 
    </instance00> 
    </Memory> 
</Results> 

XML2:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Results> 
    <Processor> 
    <instance_Total> 
     <PercentProcessorTime> 
     <sample time="9/8/2016 12:02:51 PM" value="18.4567" /> 
     <sample time="9/8/2016 12:02:52 PM" value="3.032005" /> 
     <sample time="9/8/2016 12:02:53 PM" value="0" /> 
     </PercentProcessorTime> 
     <PercentUserTime> 
     <sample time="9/8/2016 12:02:51 PM" value="17.04996" /> 
     <sample time="9/8/2016 12:02:52 PM" value="3.03025" /> 
     <sample time="9/8/2016 12:02:53 PM" value="0" /> 
     </PercentUserTime> 
     <PercentPrivilegedTime> 
     <sample time="9/8/2016 12:02:51 PM" value="0.7413027" /> 
     <sample time="9/8/2016 12:02:52 PM" value="0" /> 
     <sample time="9/8/2016 12:02:53 PM" value="0" /> 
     </PercentPrivilegedTime> 
    </instance_Total> 
    </Processor> 
</Results> 

私が取得したい:私が言ったように

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Results> 
    <Memory> 
    <instance00> 
     <PageFaultsPersec> 
     <sample time="9/8/2016 12:02:51 PM" value="1401.112" /> 
     <sample time="9/8/2016 12:02:52 PM" value="242.3494" /> 
     <sample time="9/8/2016 12:02:53 PM" value="303.1362" /> 
     </PageFaultsPersec> 
     <AvailableBytes> 
     <sample time="9/8/2016 12:02:51 PM" value="1.116967E+09" /> 
     <sample time="9/8/2016 12:02:52 PM" value="1.11702E+09" /> 
     <sample time="9/8/2016 12:02:53 PM" value="1.11761E+09" /> 
     </AvailableBytes> 
    </instance00> 
    </Memory> 
    <Processor> 
    <instance_Total> 
     <PercentProcessorTime> 
     <sample time="9/8/2016 12:02:51 PM" value="18.4567" /> 
     <sample time="9/8/2016 12:02:52 PM" value="3.032005" /> 
     <sample time="9/8/2016 12:02:53 PM" value="0" /> 
     </PercentProcessorTime> 
     <PercentUserTime> 
     <sample time="9/8/2016 12:02:51 PM" value="17.04996" /> 
     <sample time="9/8/2016 12:02:52 PM" value="3.03025" /> 
     <sample time="9/8/2016 12:02:53 PM" value="0" /> 
     </PercentUserTime> 
     <PercentPrivilegedTime> 
     <sample time="9/8/2016 12:02:51 PM" value="0.7413027" /> 
     <sample time="9/8/2016 12:02:52 PM" value="0" /> 
     <sample time="9/8/2016 12:02:53 PM" value="0" /> 
     </PercentPrivilegedTime> 
    </instance_Total> 
    </Processor> 
</Results> 

が、私は答えをしようとした、されたことリンクの中に与えられていますが、それらの中には全く動作しないものもあれば、子要素を適切に入れないで2つのファイルを結合するものもあります。

XMLファイルは、文字列だけでなく、ディスク上の実ファイルです。これは、トリックを行う必要があります

+0

、およびマージする文書が、知っている方法はありません重複ノードを再帰的にマージするか、配列として追加する必要があります。 –

答えて

1

:私は、既存のXMLドキュメントを与えられるように、これは、一般的な方法で行うことができることはないと思う

var one = XElement.Load("fileOne.xml"); 
var two = XElement.Load("fileTwo.xml"); 
one.Add(two.FirstNode); 
one.Save("combined.xml"); 
関連する問題