Last active
July 7, 2020 05:25
-
-
Save owlscatcher/a7b82724aa5f097e6486dc21f7846a09 to your computer and use it in GitHub Desktop.
Простой парсин XML с использованием DataSet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" standalone="yes"?> | |
<servers> | |
<server value="server-1"> | |
<device address="1" mode="1" active="true"/> | |
<device address="2" mode="3" active="true"/> | |
<device address="3" mode="1" active="true"/> | |
<device address="4" mode="3" active="true"/> | |
</server> | |
<server value="server-2"> | |
<device address="1" mode="1" active="true"/> | |
<device address="2" mode="3" active="true"/> | |
<device address="3" mode="1" active="true"/> | |
<device address="4" mode="3" active="true"/> | |
</server> | |
<server value="server-3"> | |
<device address="1" mode="1" active="true"/> | |
<device address="2" mode="2" active="true"/> | |
<device address="3" mode="1" active="true"/> | |
<device address="4" mode="2" active="true"/> | |
<device address="5" mode="1" active="true"/> | |
<device address="6" mode="2" active="true"/> | |
<device address="7" mode="1" active="true"/> | |
<device address="8" mode="2" active="true"/> | |
<device address="9" mode="1" active="true"/> | |
<device address="10" mode="1" active="true"/> | |
<device address="11" mode="1" active="true"/> | |
<device address="12" mode="1" active="true"/> | |
<device address="13" mode="1" active="true"/> | |
<device address="14" mode="1" active="true"/> | |
<device address="15" mode="1" active="true"/> | |
<device address="16" mode="1" active="true"/> | |
</server> | |
</servers> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.Data; | |
using System.IO; | |
namespace CONSOLE_TEST_SOLUTION | |
{ | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
DataSet dataSet = new DataSet(); | |
string filePath = ("" + Directory.GetCurrentDirectory() + "\\server-list.xml"); | |
List<DataRow> serverList1 = new List<DataRow>(); | |
List<DataRow> serverList2 = new List<DataRow>(); | |
List<DataRow> serverList3 = new List<DataRow>(); | |
if(!File.Exists(filePath)) | |
{ | |
Console.WriteLine("Файл отсутствует"); | |
} | |
else | |
{ | |
Console.WriteLine("Файл server-list.xml найден"); | |
dataSet.ReadXml(filePath); | |
Console.WriteLine("DataSet заполнен."); | |
foreach(DataRow row in dataSet.Tables["device"].Rows) | |
{ | |
switch(row[3]) | |
{ | |
case 0: | |
serverList1.Add(row); | |
break; | |
case 1: | |
serverList2.Add(row); | |
break; | |
case 2: | |
serverList3.Add(row); | |
break; | |
} | |
} | |
Console.WriteLine("\n\nServer list 1 \nAddr Mode Active Server"); | |
foreach (DataRow row in serverList1) | |
for (var i = 0; i < dataSet.Tables["device"].Columns.Count; i++) | |
if(i != 3) | |
Console.Write(row[i] + " "); | |
else | |
Console.WriteLine(((int)row[i]) + 1 + " "); | |
Console.WriteLine("\n\nServer list 2 \nAddr Mode Active Server"); | |
foreach (DataRow row in serverList2) | |
for (var i = 0; i < dataSet.Tables["device"].Columns.Count; i++) | |
if (i != 3) | |
Console.Write(row[i] + " "); | |
else | |
Console.WriteLine(((int)row[i]) + 1 + " "); | |
Console.WriteLine("\n\nServer list 3 \nAddr Mode Active Server"); | |
foreach (DataRow row in serverList3) | |
for (var i = 0; i < dataSet.Tables["device"].Columns.Count; i++) | |
if (i != 3) | |
Console.Write(row[i] + " "); | |
else | |
Console.WriteLine(((int)row[i]) + 1 + " "); | |
} | |
Console.ReadKey(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment