Akhil Madivada Ответов: 1

Как разобрать XML-файл через службу windows и загрузить данные из XML-файла в базу данных SQL server


Привет, разработчики, у меня есть сложный XML-файл, который должен быть проанализирован в службе Windows и заполнен данными в базе данных SQL Server.Кто-нибудь может подсказать мне, как выполнить эту задачу, и мне нужна ссылка с образцом примера с кодом C# для разбора XML-файла в службе Windows и импорта данных в БД с подключением SQL Server.Мой пример XML-файла приведен ниже.
<pre><?xml version="1.0"?>

<!-- MAS Release 7.0 ( build: Jan 22 2010 19:12:10 ) -->

-<AMRDEF CreationTime="2013-08-09 00:18:42" version="7.0" Purpose="AMRDataRequest">


-<MeterReadings Purpose="OnRequestRead" CollectionTime="2013-08-09 19:57:11" Initiator="OnRequest" SourceIrn="30" SourceName="coll_0591_stuart" Source="Remote" Irn="21">

<Meter MediaType="900 MHz" ObservesDaylightSavings="true" TimeZoneOffset="300" Timezone="(GMT-05:00) Eastern Time (US & Canada)" TimeZoneIndex="11" Location="" SdpIdent="" AccountName="" AccountIdent="" RemovalDate="" InstallDate="2013-05-01 20:28:09" Description="" MeterType="REX" SerialNumber="03310266" IsActive="true" MeterName="03310266" MeterIrn="21"/>


-<ConsumptionData>

<ConsumptionSpec Multiplier="1" MeasurementPeriod="EndOfIntervalSnapshot" TouBucket="Total" Direction="Delivered" UOM="kWh"/>

<Reading Value="73180" TimeStamp="2013-08-09 00:00:00"/>

</ConsumptionData>


-<ConsumptionData>

<ConsumptionSpec Multiplier="1" MeasurementPeriod="EndOfIntervalSnapshot" TouBucket="Total" Direction="Received" UOM="kWh"/>

<Reading Value="0" TimeStamp="2013-08-09 00:00:00"/>

</ConsumptionData>


-<LoadProfileSummary>

<Channel Multiplier="0.1" Direction="Delivered" UOM="kWh" SumOfIntervalValues="155316.3" ReadingRangeEndTimestamp="2013-08-09 00:00:00" ReadingRangeStartTimestamp="2013-08-02 00:00:00" FirstIntervalTimestamp="2013-08-02 00:15:00" NumIntervalsRead="675" IntervalSeconds="900"/>

<Channel Multiplier="0.1" Direction="Received" UOM="kWh" SumOfIntervalValues="0" ReadingRangeEndTimestamp="2013-08-09 00:00:00" ReadingRangeStartTimestamp="2013-08-02 00:00:00" FirstIntervalTimestamp="2013-08-02 00:15:00" NumIntervalsRead="675" IntervalSeconds="900"/>

</LoadProfileSummary>


-<IntervalData>

<IntervalSpec Multiplier="0.1" Direction="Delivered" UOM="kWh" TimestampEnd="2013-08-09 00:00:00" TimestampStart="2013-08-02 00:15:00" Channel="1" Interval="15"/>


-<Reading TimeStamp="2013-08-02 00:15:00" RawReading="229.8">

<QualityFlags TestMode="1"/>

</Reading>


-<Reading TimeStamp="2013-08-02 00:30:00" RawReading="999999">

<QualityFlags TestMode="1" PulseOverflow="1"/>

</Reading>


-<Reading TimeStamp="2013-08-02 00:45:00" RawReading="999999">

<QualityFlags TestMode="1" PulseOverflow="1"/>

</Reading>


-<Reading TimeStamp="2013-08-02 01:00:00" RawReading="999999">

<QualityFlags TestMode="1" PulseOverflow="1"/>

</Reading>


-<Reading TimeStamp="2013-08-02 01:15:00" RawReading="999999">

<QualityFlags TestMode="1" PulseOverflow="1"/>

</Reading>


-<Reading TimeStamp="2013-08-02 01:30:00" RawReading="228.99">

<QualityFlags TestMode="1" PulseOverflow="1"/>

</Reading>

<Reading TimeStamp="2013-08-02 01:45:00" RawReading="230.2"/>

<Reading TimeStamp="2013-08-02 02:00:00" RawReading="230.3"/>

<!--<Reading TimeStamp="2013-08-02 02:15:00" RawReading="229.9" /> <Reading TimeStamp="2013-08-02 02:30:00" RawReading="230.3" /> <Reading TimeStamp="2013-08-02 02:45:00" RawReading="229.9" />-->


<Reading TimeStamp="2013-08-02 03:00:00" RawReading="230.3"/>

<Reading TimeStamp="2013-08-02 03:15:00" RawReading="229.9"/>

<Reading TimeStamp="2013-08-02 03:30:00" RawReading="230.3"/>

<Reading TimeStamp="2013-08-02 03:45:00" RawReading="229.9"/>

<Reading TimeStamp="2013-08-02 04:00:00" RawReading="230.4"/>

<Reading TimeStamp="2013-08-02 04:15:00" RawReading="229.8"/>

<Reading TimeStamp="2013-08-02 04:30:00" RawReading="230.1"/>
.

Что я уже пробовал:

Я не могу получить правильные ссылки на эту задачу.