У меня есть этот XML-файл:проверить, если значение узла является нулевым
<key1>value 1</key1>
<key2>value 2</key2>
<key3>value 3</key3>
<key4>value 4</key4>
Я хотел бы разобрать его и получить dictionnary, содержащий все атрибуты моего элемента. Для этого у меня есть этот код:
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
string key="";
string value="";
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
key=(reader.Name)
break;
case XmlNodeType.Text:
value=(reader.Value)
element_dictionnary.Add(key,value);
break;
}
}
}
Все работает нормально, проблема в том, если один узел пуст, как с этим файлом:
<key1></key1>
<key2>value 2</key2>
<key3>value 3</key3>
<key4>value 4</key4>
Все сдвинуто и мой dictionnary становится этим:
key1/значение2
key2/value3
.....
Итак, я хотел бы знать, как можно связать значение узла с именем узла, даже если значение узла пуст.
Заранее за вашу помощь.
В документации сказано, что вы можете проверить с 'IsEmptyElement', если текущий элемент является пустым: HTTP : //msdn.microsoft.com/en-us/library/system.xml.xmltextreader.isemptyelement (v = vs.110) .aspx – Leif
Я прочитал это, проблема в том, что он возвращает true для самозакрывающегося элемента, такого как , не для –
user2443476