0

使用此 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);
  }
4

0 回答 0