Информация об изменениях

Сообщение Re[16]: API и слоёные архитектуры от 14.09.2016 18:13

Изменено 14.09.2016 18:21 Sinix

Здравствуйте, Arsen.Shnurkov, Вы писали:

S>> что-то я не припомню готовой реализации этого дела на шарпе.

AS>https://github.com/Bonuspunkt/XmlPatch

А это дубовый вариант как раз, без сохранения форматирования. В общем тут три варианта сходу нарисовываются:
* или вообще забить на форматирование атрибутов (ага, именно в этом был подвох, спасибо, что напомнили),
* или делать мегаизвращение — вытаскивать начало-конец элемента через XmlLineInfo и заменять текст между ними новым значением.
* или городить свою логику поверх xmlReader с запоминанием позиций элементов, кавычек (ага, одиночные заменяются на двойные) и кучу других вещей.

Нам в своё время хватило первого варианта, т.к. csproj-файлы редко форматируются нестандартным способом.
Re[16]: API и слоёные архитектуры
Здравствуйте, Arsen.Shnurkov, Вы писали:

S>> что-то я не припомню готовой реализации этого дела на шарпе.

AS>https://github.com/Bonuspunkt/XmlPatch

А это дубовый вариант как раз, без сохранения форматирования. В общем тут три варианта сходу нарисовываются:
* или вообще забить на форматирование атрибутов (ага, именно в этом был подвох, спасибо, что напомнили),
* или делать мегаизвращение — вытаскивать начало-конец элемента через XmlLineInfo и заменять текст между ними новым значением.
* или городить свою логику поверх xmlReader с запоминанием позиций элементов, кавычек (ага, одиночные заменяются на двойные) и кучу других вещей.

UPD ещё модно поспрошать kirill osenkov, он в своё время делал парсер xml на базе рослина

Нам в своё время хватило первого варианта, т.к. csproj-файлы редко форматируются нестандартным способом.