Скрипт Sed / awk для исправления недопустимых символов в XML (амперсанд) - PullRequest
1 голос
/ 02 сентября 2010

Для анализа недопустимого XML-файла, содержащего либо некодированные, недопустимые символы (в моем случае амперсанды):

<url>http://example.com?param1=bad&param2=ampersand</url>

и закодированные

<description> The good, the bad &amp; the ugly </description>

Пожалуйста, опубликуйте пример со сценарием sed / awk, который может кодировать недопустимые символы.

Ответы [ 2 ]

3 голосов
/ 02 сентября 2010
tidy -m -xml <your-xml-file>
0 голосов
/ 02 сентября 2010

Полностью не проверено, но вы можете обмануть, преобразовав все действительные обратно в их первоначальную форму, а затем снова выполнить преобразование.

Например, если вам нужно было беспокоиться только об амперсандах, вы можете сделать что-то похожее на:

sed 's/&amp;/&/g' | sed 's/&/&amp;/g'

Конечно, вы можете сделать это намного чище, и это будет лучшим решением, но некоторые зовут меня, и я уверен, что вы можете решить это отсюда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...