Вы можете назвать эту «старую школу», но она работает.
XSD.exe
(еще более старая школа) - делает то же самое для документов XML. sitemap.xml
на каждом веб-сайте). Сгенерированный класс поможет вам понять его. Это стандартный набор / массив / список. [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class configuration
{
private configurationSetting[] settingField;
///
[System.Xml.Serialization.XmlElementAttribute("setting")]
public configurationSetting[] setting
{
get
{
return this.settingField;
}
set
{
this.settingField = value;
}
}
}
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class configurationSetting
{
private string valueField;
private string nameField;
///
public string value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
///
[System.Xml.Serialization.XmlAttributeAttribute()]
public string name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
}
С учетом вышеизложенного вы можете сделать это:
string rawXml = "127.0.0.1 80 ";
var ser = new XmlSerializer(typeof(configuration));
configuration config;
using (TextReader rdr = new StringReader(rawXml))
{
config = (configuration)ser.Deserialize(rdr);
}
foreach (configurationSetting setting in config.setting)
{
Console.WriteLine($"{setting.name} = {setting.value}");
}
Выход:
host = 127.0.0.1
port = 80
Hth ..
Это всего лишь предупреждение, а не ошибка: он не влияет на ваш код, вы можете просто проигнорировать его.
В GitHub есть открытая проблема ( link ), в которой говорится, что это ошибка, вызванная внутренним использованием метода discord.js, который был помечен как устаревший. Один из разработчиков сказал, что исправит это в следующем выпуске, а пока просто игнорируйте его.