Я пытаюсь создать XML-файл на основе полей данных из таблицы, и я хочу, чтобы узлы назывались на основе значения в поле из таблицы. Проблема в том, что иногда значения, введенные в этот столбец, содержат пробелы и другие символы, недопустимые в именах узлов.
Есть ли у кого-нибудь код, который очистит переданную строку и заменит недопустимые символы с заменяющим текстом, чтобы его можно было отменить на другом конце и вернуть исходное значение?
Я использую .net (vb.net, но я могу читать / конвертировать C#)





Было бы проще, если бы вы сохранили исходное значение, если бы оно было недопустимым в качестве имени узла в атрибуте. Тогда вы не будете беспокоиться о сложном переводе туда и обратно.
На самом деле я бы пошел еще дальше и сказал, что если у вас нет полного контроля над данными, ни один процесс перевода никогда не будет работать. Итак, я второй сохраняю исходные данные либо как атрибут, либо как дочерний узел.
Вы не сказали в своем исходном сообщении, на каком языке, поэтому вот шаблон регулярного выражения, с которого вы должны начать. Это БЫСТРЫЙ, поэтому вам нужно его протестировать.
([^A-Za-z0-9])|(\s)|(\t+)|(\c+)
YW. Я немного изменил его. Опять же, это быстро, и я определенно не тестировал это. надеюсь, это поможет.
Я думаю, что регулярное выражение, вероятно, будет работать, но как вы планируете сделать обратный перевод?
Это проблема. Обратный перевод сложен и, я думаю, подвержен ошибкам. Вот почему я рекомендовал каким-то образом сохранить исходное значение (как значение атрибута).
спасибо за это регулярное выражение, я поиграю с ним и посмотрю, что я могу с этим поделать.