выглядит очень простой задачей, я очень новичок в c# и не могу найти правильный ответ для этого
У меня есть структура xml ниже (количество элементов различается по количеству )
<config>
<extras>
<dir_update>C:\extension\update.exe</dir_update>
</extras>
<connection_MAIN>
<ip>LOCALHOST,1433</ip>
<bd>DATA</bd>
<user>sa</user>
<password>gzqs=</password>
</connection_MAIN>
<connection_LOBBY>
<ip>10.0.0.2,1433</ip>
<bd>DATA</bd>
<user>sa</user>
<password>I/wqqZIgzqs=</password>
<caixa>5yIz5GPu80s=</caixa>
<printer>cARrmGLQlztLiUDxIJqoPkvJabIiyI9ye4H7t+4muYk=</printer>
</connection_LOBBY>
<connection_FRONT>
<ip>10.0.0.5,1433</ip>
<bd>FIELDS</bd>
<user>sa</user>
<password>I/wqqZIgzqs=</password>
</connection_FRONT>
</config>
Я уже получаю элементы, которые начинаются с "connection_" в моем поле со списком, и мне нужны значения внутри <ip>
, <bd>
, <user>
и <password>
, когда я выберите соединение в выпадающем списке.
Проблема, которую я получаю, состоит в том, что он возвращает само слово, а не значение внутри кода ниже
private void Form1_Load(object sender, EventArgs e)
{
using(DataSet ds = new DataSet())
{
ds.ReadXml(textBox1.Text);
foreach(DataTable dt in ds.Tables)
{
if (dt.ToString().Contains("conection_"))
{
comboBox1.Items.Add(dt.ToString().Replace("conection_", ""));
}
}
comboBox1.SelectedIndex = 0;
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
using(DataSet ds = new DataSet())
{
ds.ReadXml(textBox1.Text);
string v = comboBox1.Text.ToString();
string ip = ds.Tables[$"conection_{v}"].Columns[0].ToString();
}
}
Переменная ip получает значение " ip "и я хочу" LOCALHOST, 1433 ", когда я выбираю первую опцию в своем поле со списком в этом примере.
Также я хочу найти значение столбца по имени (" ip "," bd "), но я, кажется, получаю результаты только при использовании Columns [0], Columns [1].
Я следовал некоторым руководствам, которые я осмотрел, но они не работают в этом формате xml или я смотрю на это неправильно.
Любая помощь приветствуется.