使用此 XML 示例 当元素中没有服务属性时,它将读取并合并此文件
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<Polling>
<TimeStamp>6/7/2016 1:38:31 PM</TimeStamp>
<successfulPackets>1</successfulPackets>
<UnsuccessfulPackets>0</UnsuccessfulPackets>
<ClientID>4af00c0d-51e0-44e4-8096-954b5f857948</ClientID>
<Holder>Aetos-RemoteServices</Holder>
<Nid>07987c6-c553-4033-b1ad-0ac63ac6f8fd</Nid>
<Grid>8f85e55a-3928-4621-a9d6-69179e33bbd1</Grid>
<Job>RemoteTestClient</Job>
<DataPriv>1000000000</DataPriv>
<DataUse>36</DataUse>
<Clients>1</Clients>
</Polling>
<Polling>
<TimeStamp>6/7/2016 1:38:13 PM</TimeStamp>
<successfulPackets>1</successfulPackets>
<UnsuccessfulPackets>0</UnsuccessfulPackets>
<ClientID>4af00c0d-51e0-44e4-8096-954b5f857948</ClientID>
<Holder>Aetos-RemoteServices</Holder>
<Nid>07987c6-c553-4033-b1ad-0ac63ac6f8fd</Nid>
<Grid>8f85e55a-3928-4621-a9d6-69179e33bbd1</Grid>
<Job>RemoteTestClient</Job>
<DataPriv>1000000000</DataPriv>
<DataUse>36</DataUse>
<Clients>1</Clients>
</Polling>
</NewDataSet>
非工作 XML 文件示例它不会读取和合并这些文件,但它会在没有属性时
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<Polling>
<TimeStamp service"1111">6/7/2016 1:38:31 PM</TimeStamp>
<successfulPackets service"1111">1</successfulPackets>
<UnsuccessfulPackets service"1111">0</UnsuccessfulPackets>
<ClientID service"1111">4af00c0d-51e0-44e4-8096-954b5f857948</ClientID>
<Holder service"1111">Aetos-RemoteServices</Holder>
<Nid service"1111">07987c6-c553-4033-b1ad-0ac63ac6f8fd</Nid>
<Grid service"1111">8f85e55a-3928-4621-a9d6-69179e33bbd1</Grid>
<Job service"1111">RemoteTestClient</Job>
<DataPriv service"1111">1000000000</DataPriv>
<DataUse service"1111">36</DataUse>
<Clients service"1111">1</Clients>
</Polling>
</NewDataSet>
XML 所需的输出
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<Polling>
<TimeStamp service"1111">6/7/2016 1:38:31 PM</TimeStamp>
<successfulPackets service"1111">1</successfulPackets>
<UnsuccessfulPackets service"1111">0</UnsuccessfulPackets>
<ClientID service"1111">4af00c0d-51e0-44e4-8096-954b5f857948</ClientID>
<Holder service"1111">Aetos-RemoteServices</Holder>
<Nid service"1111">07987c6-c553-4033-b1ad-0ac63ac6f8fd</Nid>
<Grid service"1111">8f85e55a-3928-4621-a9d6-69179e33bbd1</Grid>
<Job service"1111">RemoteTestClient</Job>
<DataPriv service"1111">1000000000</DataPriv>
<DataUse service"1111">36</DataUse>
<Clients service"1111">1</Clients>
</Polling>
<Polling>
<TimeStamp service"2222">6/7/2016 1:38:13 PM</TimeStamp>
<successfulPackets service"2222">1</successfulPackets>
<UnsuccessfulPackets service"2222">0</UnsuccessfulPackets>
<ClientID service"2222">4af00c0d-51e0-44e4-8096-954b5f857948</ClientID>
<Holder service"2222">Aetos-RemoteServices</Holder>
<Nid service"2222">07987c6-c553-4033-b1ad-0ac63ac6f8fd</Nid>
<Grid service"2222">8f85e55a-3928-4621-a9d6-69179e33bbd1</Grid>
<Job service"2222">RemoteTestClient</Job>
<DataPriv service"2222">1000000000</DataPriv>
<DataUse service"2222">36</DataUse>
<Clients service"2222">1</Clients>
</Polling>
</NewDataSet>
我正在尝试读取和合并 xml 文件。它适用于没有属性 service="1111" 的 xml 文件,但是当我添加属性 service="1111" 的 xml 文件时,它将无法工作,它无法从数据集中读取和合并。
string filename = @"C:\Users\srhea_000\Documents\Visual Studio 2013\Projects\DashBoard\Server.Config\Polling\polling.xml";
// Reading and Writing Data for Merge: Also include current files from the xml in the data set by reading and current
// if the file exists, read
// Modify the polling file
if (File.Exists(filename))
{
ReadMerge.ReadXml(filename); //This is a data set
//Propergate the data by merging the current with the previouse loaded data
ds.Merge(ReadMerge); //this is another dataset
//Write XML after existing file and current data is merged into the new Dataset Scheme
ds.WriteXml(filename);
}
else
{
//Just write xml data if the current file does not exist - Starts the polling file
ds.WriteXml(filename);
}