предположить, у меня есть следующий XML-строку:Разбираем общие строки XML с помощью C#
<?xml version="1.0" encoding="utf-8" ?>
<items>
<item1>value1</item1>
<item2>value2</item2>
<item3>value3</item3>
<item4>value4</item4>
<item5>value5</item5>
<item6>value6</item6>
</items>
мне нужно разобрать его в общем виде, как она может быть обновлена позже, и мне не нужно, чтобы изменить свой код соответственно. Так что я попытался следующим:
public static Dictionary<string, string> Parser(string xmlString)
{
Dictionary<string, string> parserDictionary = new Dictionary<string, string>();
using (StringReader stringReader = new StringReader(xmlString))
using (XmlTextReader reader = new XmlTextReader(stringReader))
{
// Parse the file and display each of the nodes.
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
parserDictionary.Add(reader.Name, reader.ReadString());
break;
}
}
}
return parserDictionary;
}
Этого кода есть 2 проблемы:
- Это Разбирает
<items>
элемента с нулевым значением, не нужен разбором это - он игнорирует
<item1>
пожалуйста посоветуйте
вы могли бы использовать XDocument –
Мне кажется, вы хотите код, который может быть скорректирован с перекомпиляции. "обновлено позже [...] не нужно модифицировать мой код" Если так, C# - неправильный язык. SQL XPath может это сделать. –