Я пытаюсь создать PowerShell CmdLet, который может анализировать и корректно переформатировать кусок XAML или любого другого языка разметки.
До сих пор мне приходилось создавать ассортимент CmdLet, чтобы я мог может получить правильную информацию для вставки в эту вещь (для отступов, количества, элементов, дочерних элементов и т. д. c, и т. д.)
Я пытаюсь собрать ВСЕ свойства и значения в наборе XAML / HTML, et c, а затем, когда у меня есть длины всех этих переменных, я могу затем начать разбивать их на части и правильно отформатировать, чтобы они все выводили вниз прямая линия. Это может не иметь большого смысла, как я это описываю? Итак, вот пример.
<Window xmlns = 'http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x = 'http://schemas.microsoft.com/winfx/2006/xaml'
Title = 'Window Title'
Height = '600'
MinHeight = '600'
Width = '800'
MinWidth = '800'
BorderBrush = 'Black'
ResizeMode = 'CanResize'
HorizontalAlignment = 'Center'
WindowStartupLocation = 'CenterScreen'>
Причина, по которой я пытаюсь это построить, заключается в том, чтобы я мог программно сохранить инструкции на меньшем месте. Итак, вместо из ... с колеблющимися числами для каждой строки и элемента и конечным результатом, похожим на это ...
<Window xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
xmlns:x = 'http://schemas.microsoft.com/winfx/2006/xaml' Title = 'Window Title' Height = '600'
MinHeight = '600' Width = '800' MinWidth = '800' BorderBrush = 'Black' ResizeMode = 'CanResize'
HorizontalAlignment = 'Center' WindowStartupLocation = 'CenterScreen'>
... У меня тогда есть набор инструкций это может векторизовать содержимое XAML, так что оно имеет шаблон и меньше случайности. Конечно, счетчик строк может быть немного расширен, но нет необходимости беспокоиться об этом, если все, что он делает, это расширение в ОЗУ. Какой смысл в этом ...
Во всяком случае, код, с которым у меня возникают проблемы, по сути является способом сохранить расстояние между цитируемыми объектами. Я чувствую, что бьюсь головой о стену, пытаясь заставить это работать правильно, когда я знаю, что это вопрос Regex ...
Я разместил код, о котором я говорю, по этой ссылке , https://github.com/secure-digits-plus-llc/FightingEntropy/blob/master/Format-XAML.ps1 Строки 43-147
Это блок сценария, и для тестирования с ним требуется строка Xaml Here.
Любые предложения приветствуются. Я не большой поклонник Regex, я понимаю некоторые основы этого, но я не настолько хорош с ним.
-M C