XML文件1我試圖合併兩個XML文件,但遇到了一些問題
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="1">
<FirstName>Aa</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>1</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>Bb</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>2</subsal>
</Salary>
</Employee>
<Employee Id="3">
<FirstName>Cc</FirstName>
<LastName>PDC2B</LastName>
<Salary>
<subsal>3</subsal>
</Salary>
</Employee>
</Employees>
XML文件的2-:
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="1">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>5</subsal>
</Salary>
</Employee>
</Employees>
我必須將這些文件合併成一個,我用下面的代碼 - :
using System;
using System.Xml;
using System.IO;
using System.Data;
namespace merge_xml
{
class Program
{
static void Main(string[] args)
{
try
{
XmlTextReader xmlreader1 = new XmlTextReader("C:\\Users\\saket.parasar.jha\\s.xml");
XmlTextReader xmlreader2 = new XmlTextReader("C:\\Users\\saket.parasar.jha\\s1.xml");
DataSet ds = new DataSet();
ds.ReadXml(xmlreader1);
DataSet ds2 = new DataSet();
ds2.ReadXml(xmlreader2);
ds.Merge(ds2);
Console.WriteLine("Completed merging XML documents");
ds.WriteXml("C:\\Users\\saket.parasar.jha\\sneww.xml");
////XmlDocument doc = new XmlDocument();
////doc.Load(("C:\\Users\\saket.parasar.jha\\sneww.xml"));
////XmlNodeList nodes = doc.SelectNodes("//product/id");
//////int nNodeID = nodes.Count;
////nNodeID++;
}
catch (System.Exception ex)
{
Console.Write(ex.Message);
}
Console.Read();
}
}
}
輸出我得到是 - :
<?xml version="1.0" standalone="yes"?>
<Employees>
<Employee Id="1">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>1</subsal>
</Salary>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>2</subsal>
</Salary>
<Salary>
<subsal>5</subsal>
</Salary>
</Employee>
<Employee Id="3">
<FirstName>Cc</FirstName>
<LastName>PDC2B</LastName>
<Salary>
<subsal>3</subsal>
</Salary>
</Employee>
</Employees>
而且所需的輸出應爲─:
<?xml version="1.0" encoding="utf-8"?>
<Employees>
<Employee Id="1">
<FirstName>Aa</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>1</subsal>
</Salary>
</Employee>
<Employee Id="2">
<FirstName>Bb</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>2</subsal>
</Salary>
</Employee>
<Employee Id="3">
<FirstName>Cc</FirstName>
<LastName>PDC2B</LastName>
<Salary>
<subsal>3</subsal>
</Salary>
</Employee>
<Employees>
<Employee Id="4">
<FirstName>AaA</FirstName>
<LastName>PDC1</LastName>
<Salary>
<subsal>4</subsal>
</Salary>
</Employee>
<Employee Id="5">
<FirstName>BbB</FirstName>
<LastName>PDC2A</LastName>
<Salary>
<subsal>6</subsal>
</Salary>
</Employee>
</Employees>
</Employees>
我應該嘗試一些其他的合併方法,如果可能的話,請提出一些代碼..
您的代碼是正確的。要求是錯誤的。 XML只能有一個根標籤。您需要兩個違反XML標準的根員工標籤。 – jdweng