Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Добавление к узлу XmlNode нового атрибута...


Автор: CyraxZ 17.3.2007, 00:31
Имеется узел типа XmlNode. Как наиболее простым способом добавить к набору атрибутов этого узла ещё один атрибут (неважно куда - в начало или в конец) ?...
Есть два метода объекта XmlNode: Append(XmlAttribute) и Prepand(XmlNode). Оба метода требуют объекты XmlAttribute. В то же время конструктор этого объекта (XmlAttribute) - protected internal, т.е. нам не доступен...
Всё это ведёт к тому, что придётся извращаться через объект документа XmlDocument, namespace'ы и т.д. ...

Автор: -ser- 17.3.2007, 09:22
Код

//XmlNode xmlNode;
...
xmlNode.Attributes[ "имя еще одного аттрибута" ].InnerXml = "его значение";

Автор: CyraxZ 29.3.2007, 21:10
Цитата

xmlNode.Attributes[ "имя еще одного аттрибута" ]

это будет null (выскочит исключение)...

Автор: Djuffin 30.3.2007, 00:00

Цитата(CyraxZ @  17.3.2007,  00:31 Найти цитируемый пост)
сё это ведёт к тому, что придётся извращаться через объект документа XmlDocument


А в чем извращенье?

Код

XmlAttribute nameAttr = xmlNode.OwnerDocument.CreateAttribute("Name");
nameAttr.Value = name;
xmlNode.Attributes.Append(nameAttr);


Автор: CyraxZ 1.4.2007, 14:20
А ведь проще было бы реализовать метод xmlNode.Attributes.Append(nameAttr, valueAttr)...

В этом плане логику Microsoft не понимаю...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)