Формирую хмл фай следующим образом:
XmlTextWriter writer = null;
writer = new XmlTextWriter("Protokol.xml", System.Text.Encoding.ASCII);
writer.WriteStartDocument();
writer.WriteStartElement("ProtokolDocument");
writer.WriteStartElement("Protokol");
writer.WriteStartAttribute("ProtokolId", "1");
writer.WriteStartAttribute("ProtokolName", "ПРОТОКОЛ № 1");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
Затем читаю:
reader = new XmlTextReader("Protokol.xml");
reader.WhitespaceHandling = WhitespaceHandling.None;
while (reader.Read() )
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name == "Protokol")
{
NameProtokol = reader.GetAttribute("ProtokolId");
CodeProtokol = reader.GetAttribute("ProtokolName");
}
}
Так вот, узел reader.Name == "Protokol" он находит, а дальше GetAttribute - возвращает пустые значения!!!
Хотя если обращаться по номеру, то бог знает с какого(6 или 7) данные начинат появлятся, - ? reader.GetAttribute(7);, т.е. можна и по номерам обращаться, но почему они начинаются не с 1-го?, хотелось по именам, а не находит...
Ответить
|