Вопрос

Недавно я начал работать над проектом, касающимся строительства графического интерфейса, используя какую -то форму декларативного языка. Я имею в виду, что мне нужно описать иерархию объектов, без указания типа виджетов графического интерфейса, которые будут использоваться для «показа» этой иерархии. Например, для некоторой существующей иерархии ЧАС, используя записи JSON (или что -то в этом роде):

H = 
{
    "title" : "Label_1"
    "children" : 
    [
        {
            "title" : "Label_2"
            "children": 
            [
                {
                    "title": "Field_A"
                    "type": "Integer"
                    "value": 10
                },

                {
                    "title": "Field_B"
                    "type": "String"
                    "value": "YES"
                }
            ]
         }
    ]
}

Кто -то может создать простое окно, которое будет показано пользователю, нажав кнопку с надписью «label_1». Затем окно можно назвать «label_2» и иметь два поля, помеченные «Field_a» и «field_b», принимая целочисленные и логические значения соответственно.

Кто -то другой может поместить эту иерархию в список деревьев, например,

--------------------------------------------------------
>Label_1                |
    >Label_2            |
        >Field_A        |   10
        >Field_B        |   YES

Мой первый вопрос: ну, нужно ли мне создать какую -то форму анализатора языка, чтобы достичь чего -то подобного? Могу ли я тогда использовать JSON? Хотя мне не нужно поддерживать сложные иерархии, необходимо поддерживать взаимоисключающие иерархии (что -то вроде радиопроизводительных кнопок, включающих/отключение вариантов отключения). У меня такое ощущение, что это похоже на какую -то форму анализа языка с парой операторов. Не поймите меня неправильно, я нахожусь в области машиностроения, и я не опытный программист.

Заранее спасибо за ваши комментарии и помощь.

Это было полезно?

Решение

Сколько месторождений здесь?Это стандартная библиотека документов, или вы добавили несколько дополнительных метаданных?Даже если это нормально, вы нужно , чтобы потянуть все поля полей?Попробуйте изменить атрибут ViewFields вашего запроса, чтобы вернуть только то, что вам нужно.В противном случае вы проходите все папки («recursiveall» атрибут охвата);Если у вас есть большая библиотека, особенно одна с множеством уровней, что вполне может занять некоторое время.Если с другой стороны, у вас есть хорошее представление о том, в какой папке элемент может быть включен, вы можете рассмотреть возможность разрезания поиска до одной подпапки.

Другие советы

То, что вы ищете, называется QML

Это декларативный язык QT, основанный на JSON.

Мне было интересно то же самое, поэтому я начал нить Чтобы собрать информацию об открытом исходном коде, декларативном графическом графическом графическом интерфейсе. Если вы ищете альтернативы, проверьте это.

XML представляет собой присущую конфигурацию элемента конкретного списка.

Как правило, вы не хотите получить доступ к значениям, считывая / распределяя XML напрямую, а скорее, используя объект обертки.

Вы можете получить доступ к любым из этих полей, используя доступ к «Array» для объекта значения поля обертки.

Пример: http://www.robertkuzma.com/2012/09/get-items-from-sharepoint-script-us-powerShell-script/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top