Значение XmlAttribute и внутренний текст

У меня есть фрагмент кода, который заполняет хеш-таблицу строками, например: («имя», Оскар). Я хочу использовать их для заполнения (только за счет использования памяти) значений и внутренних текстов XMLAtributes. Но есть одна проблема.

XmlElement Co = newDoc.CreateElement("Co1");

 XmlAttribute series = Co.Attributes.Append(newDoc.CreateAttribute("series"));
         series.InnerText = (string)vector["series"];
         series.Value = (string)vector["series"];
         MessageBox.Show((string)vector["series"]);
         MessageBox.Show(Co.Attributes["series"].InnerText.ToString());
         MessageBox.Show(Co.Attributes["series"].Value.ToString());

Когда я хочу, чтобы система показала мне значение или внутренний текст (в методе создания xml, в котором находится этот фрагмент кода), он ничего не возвращает. Затем он переходит к следующему атрибуту и ​​возвращает «Ссылка на объект не установлена ​​​​на экземпляр объекта». Следующий фрагмент кода такой:

XmlAttribute folio = Co.Attributes.Append(newDoc.CreateAttribute("folio"));
             folio.InnerText = vector["folio"].ToString();

Ошибка бьет в последнюю строку.

В любом другом месте класса я могу видеть и получать значения hastable с помощью метода .ToString() и приведения.

Кажется, я неправильно получаю значение из своей хеш-таблицы или что-то упускаю из XMLAtributes... Как правильно это сделать?


person Carlos    schedule 23.10.2013    source источник


Ответы (1)


Вы делаете это трудным путем:

var folio = Convert.ToString(vector["folio"]);
Co.SetAttribute("folio", folio);

Не нужно беспокоиться о таких вещах, как InnerText.

person Marc Gravell    schedule 23.10.2013
comment
Эй, чувак, спасибо за твой ответ, но я получаю тот же результат! - person Carlos; 25.10.2013
comment
@Карлос, ты уверен, что vector содержит запись для folio? - person Marc Gravell; 25.10.2013
comment
Да, я сделал метод, чтобы показать мне, что у него есть значения (общедоступная пустота). Только когда я выполняю public void createXML() (тот, который создает XML) в этом конкретном методе, я не могу видеть свои значения Hashtable или какие-либо общедоступные строковые значения того же класса. - person Carlos; 26.10.2013
comment
может показаться, что в createXML мои глобальные переменные (или только внешние) обнуляются при вставке в значение атрибута. - person Carlos; 26.10.2013