Я хочу создать XML-файл, который будет использоваться для хранения структуры программы Java. Я могу успешно проанализировать программу Java и при необходимости создать теги. Проблема возникает, когда я пытаюсь включить исходный код в свои теги, поскольку исходный код Java может использовать огромное количество ссылок на сущности и зарезервированных символов, таких как &
, ,
>
, и
. Я не могу создать действительный XML.
Мой XML должен выглядеть так:
the ordinary java statement
true statements
false statements
usual control statements
.
.
.
.
.
.
Вот так, но проблема заключается в условных выражениях if
или других операторах, содержащих много и
или других зарезервированных символов, что препятствует проверке XML. Поскольку все эти данные (исходный код) предоставляются пользователем, я практически не могу их контролировать. Экранирование символов будет очень затратным с точки зрения времени.
Я могу использовать CDATA для экранирования текста элемента, но его нельзя использовать для значений атрибутов, содержащих условные выражения. Я использую Antlr грамматику Java для анализа программы Java и получения атрибутов и содержимого для тегов. Есть ли другой способ решения этой проблемы?