Работа с xml

alamina.moon

Client
Регистрация
29.10.2012
Сообщения
29
Благодарностей
27
Баллы
3
Вопрос 1.

Пытаюсь через "Свой C# код" создать xml документ, но не удается.
Подключил в рефернс system.xml
пишу код:

XmlDocument doc = new XmlDocument();

Ошибка:
The type or namespace name 'XmlDocument' could not be found (are you missing a using directive or an assembly reference?)". [Строка: 1; Cтолбец: 1]

Как побороть, а вообще было бы классно если бы была возможность работать с XML через классы работы с файлами.

Вопрос 2

Как уничтожить список, дабы освободить память, а в нужный момент создать его через код C# в PM

Вопрос 3

// get global variable by namespace and name
// variable "gv" object of interface IGlobalVariable
IGlobalVariable gv = project.GlobalVariables["MyNamespase", "VariableName"];

Судя по всему этот код можно использовать в PM для получаения значения настройки проекта из INPUTSETTINGS но где посмотреть название Namespace?
 

Hungry Bulldozer

Moderator
Регистрация
12.01.2011
Сообщения
3 441
Благодарностей
834
Баллы
113
1. Писать полный путь к сборке и подключать сборки когда требуется
System.Xml.XmlDocument
2. Clear()
 

alamina.moon

Client
Регистрация
29.10.2012
Сообщения
29
Благодарностей
27
Баллы
3
Расскажите пожалуйста подробнее как это сделать.
Как подключить сборку в своем коде?
Как создать объект типа XmlDocument если не вышеуказанным кодом.
Как получить список в переменную перед тем как его уничтожить?
Как создать список?
 
  • Спасибо
Реакции: LightWood

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113

alamina.moon

Client
Регистрация
29.10.2012
Сообщения
29
Благодарностей
27
Баллы
3
Итак, ответ на первый вопрос следующий:


Как на счет остальных?
 

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113
var list = project.Lists["List1"]; //читать список переменной
list.Add("line"); //добавить линию к списку
var firstLineOfLIst = list[0]; // Первая строка списка
var r = new Random();
var randomLineFromList = list[r.Next(0,list.Count)]; //случайная строка списка
list.Remove("line"); //удалить линии из списка по значению
list.RemoveAt(0); //удалить линии из списка по индексу
list.Insert(0,"new line"); //Вставить линию в первом месте в списке

"Как создать список?" привезти из панели инструментов
 

alamina.moon

Client
Регистрация
29.10.2012
Сообщения
29
Благодарностей
27
Баллы
3
"Как создать список?" привезти из панели инструментов
Я говорил про создание объекта класса Ilist (ну или какой там используется) без перетаскивания ))
Наверное буду использовать массив вместо списка ) и уничтожить можно когда захочешь.
 

alamina.moon

Client
Регистрация
29.10.2012
Сообщения
29
Благодарностей
27
Баллы
3
а глобальную переменную так и не могу понять как получить...
 

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113
IGlobalVariable gv = project.GlobalVariables["Zenno E-mail", "Название Вашей переменной"];


Для создания таблицы я думаю, что это ....

Код:
System.Collections.Generic.List<string> city = new System.Collections.Generic.List<string>();
You would need to ask Dark Diver or Shade if values can be set to project.Variable.
 

Hungry Bulldozer

Moderator
Регистрация
12.01.2011
Сообщения
3 441
Благодарностей
834
Баллы
113
  • Спасибо
Реакции: bigcajones

Hungry Bulldozer

Moderator
Регистрация
12.01.2011
Сообщения
3 441
Благодарностей
834
Баллы
113

alamina.moon

Client
Регистрация
29.10.2012
Сообщения
29
Благодарностей
27
Баллы
3
а вот это что такое? [email protected] и откуда мне его взять? что за неймспейс?
 

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113

shade

Client
Регистрация
19.11.2010
Сообщения
580
Благодарностей
346
Баллы
63
Я говорил про создание объекта класса Ilist (ну или какой там используется) без перетаскивания ))
Наверное буду использовать массив вместо списка ) и уничтожить можно когда захочешь.
Нельзя создавать объект из интерфейса. Конструкция Interface в C# лишь описывать правила или способы работы с объектами классы которых были унаследованы от этого интерфейса. Однако переменная вида IList list; может ссылаться на любой объект принадлежащий классу унаследованого от текущего интерфейса. При этом возможно лишь использовать те методы, свойства, переменные, события ... которые объявлены в этом интерфейсе. Сложно правда :-).
А если проще:
1. IList это не class, а interface и как следствие не имеет конструкторов.
JavaScript:
IList<string> list = new IList<string>(); // ЭТОТ КОД НЕ ПРАВИЛЬНЫЙ
2. Создать объект интерфейса IList можно так
JavaScript:
IList<string> list = new List<string>()
Но в модель проекта (т.е. project.Lists) добавить нельзя.
3. IList<T> - это стандартный интерфейс .Net то есть можно ему присвоить любой дочерний объект. Делать так:
JavaScript:
project.Lists["my_list"] = new List<string>();
я лично не пробовал, это может не сработать.
Очистить список можно так
JavaScript:
project.Lists["my_list"].Clear()
 
  • Спасибо
Реакции: bigcajones

Кто просматривает тему: (Всего: 3, Пользователи: 0, Гости: 3)