Стартовая страница › Форумы › Разработка и интеграция › Разбираюсь с XML
- В этой теме 45 ответов, 3 участника, последнее обновление 8 лет назад сделано
Romiros.
-
АвторСообщения
-
15.05.2018 в 16:53 #9311
manjey73УчастникПытаюсь сделать опрос xml файла по аналогии Modbus.dll но лыжи не едут
TableTypes tableType = elemGroupElem.GetAttrAsEnum<TableTypes>(«tableType»);
Подскажите где этот метод находится ? Поиском по всему решению находит только 4 строки и все находятся в DeviceTemplate, откуда взялся это GetAttrAsEnum и собственно его аналоги As
15.05.2018 в 17:27 #9312Romiros
УчастникПространство имён ScadaUtils
15.05.2018 в 17:49 #9313
manjey73УчастникСпасибо, пока у меня это тестовый файл exe, я так понимаю надо подключить одну из библиотек Scada?
Подключил все три и прописал using Scada; ошибка ушла, еще раз спасибо.
До самого драйвера я долго не доберусь, так что пока через exe все делаю….-
Ответ изменён 8 лет назад пользователем
manjey73.
15.05.2018 в 18:07 #9319
MikhailМодераторScadaData.dll (и ещё Log.dll)
22.05.2018 в 22:27 #9423
manjey73УчастникУже который день бьюсь и никак не могу победить. Надо в List загнать коллекцию из xml — Attributes() из System.XML.Linq
И главное как потом этот List опрашивать ?
В конечном варианте надо получить что-то типа list_command[0].value1
где list_command это список значений атрибутов, а value1 это имя переменной в списке…
И еще вопрос по программированию, можно ли создать List с именем Ноды xml файла на лету, не зная, какое имя будет в файле ?
Цель — написать универсальный кусок кода, где имена будут прописаны в одном месте программы и использоваться в коде, чтобы под каждый драйвер не перепахивать часть кода…23.05.2018 в 15:19 #9427
MikhailМодераторВсё-таки классический подход заключается в том, чтобы создать объектную модель настроек с нормальными классами и их свойствами. Если не хочется самому делать загрузку и сохранение XML, то самый быстрый подход на основе XmlSerializer приведен в другой нашей теме.
Если поместить объекты XmlNode в свой список, с ними всё равно будет неудобно работать. Linq я мало использовал, не смогу подсказать по нему.можно ли создать List с именем Ноды xml файла на лету, не зная, какое имя будет в файле ?
Что значит «List с именем Ноды»? Это List<string> или что-то другое?
23.05.2018 в 15:34 #9433
manjey73УчастникЯ так понимаю, это ограничение .NET ?
List<string> Имя_взятое_из_файла = new List<string>();Насколько понимаю никаких символических ссылок нельзя сделать или есть какой-то обход этого ?
Почему неудобно ? как раз таки удобно создавать теги перебирая массив или список, тем более когда неизвестно сколько тегов будет…23.05.2018 в 16:58 #9434Romiros
УчастникНайдите пример сериализации класса по-сложнее, чем имя фамилия, как обычно в примерах. Посмотрите, как сделано и сделайте по аналогии. У Вас будет хоть тысяча заранее неизвестных переменных, их запись/чтение в xml не ваша проблема.
23.05.2018 в 17:13 #9435
manjey73УчастникТак вот и не могу найти примеры сериализации посложнее, везде имя.фамилия.возраст и тому подобное, а тут еще и вложения…
Плюс я думаю, как потом в логике драйвера мне это крутить, сейчас одно найдешь, потом начнешь разбираться с логикой и поймешь что это еще сложнее…Вроде сериализация подразумевает создание класса переменных, а у меня есть участки xml где я понятия не имею сколько их окажется. Может быть 10, а может 16 и с учетом логики драйвера их надо пронумеровать сквозняком, даже если они в разных элементах лежат…
-
Ответ изменён 8 лет назад пользователем
manjey73.
23.05.2018 в 18:05 #9438Romiros
УчастникВы можете в классе создать коллекции под переменные (тот же List) и не важно сколько будет переменных.
23.05.2018 в 18:24 #9439Romiros
УчастникХотя это не точно. Прошу прощения, могу и ошибаться. Нужно посмотреть
24.05.2018 в 15:58 #9444
manjey73УчастникЭто какой-то пи…. не понимаю, как создать классы для сериализации чтобы получилась моя структура….
24.05.2018 в 16:39 #9446Romiros
УчастникДа у Вас она замороченная 🙂
Надо написать по русски словами или диаграммой.
Что-то вроде дерева.
Главный класс Device
В нем подклассы в них свойства24.05.2018 в 17:43 #9447
manjey73УчастникЧе эта она замороченная ?
Параметры в одном дереве, запросы в другом, команды в третьем, полученные ответы (после того как они будут получены правда) в четвертом.24.05.2018 в 19:59 #9453
MikhailМодераторкак создать классы для сериализации чтобы получилась моя структура…
Какая структура получается сейчас, если сериализовать как есть?
-
Ответ изменён 8 лет назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.