Я хочу создать XML файл, который будет использоваться для хранения структуры Java-программы. Я могу успешно проанализировать программу Java и создать теги по мере необходимости. Проблема возникает, когда я пытаюсь включить исходный код в мои теги, поскольку исходный код Java может использовать огромное количество ссылок на объекты и зарезервированных символов, таких как &
, <
, >
, &
. Я не могу создать допустимый XML.
Мой XML должен выглядеть следующим образом:
<?xml version="1.0"?>
<prg name="prg_name">
<class name= "class_name>
<parent>parent class</parent>
<interface>Interface name</interface>
.
.
.
<method name= "method_name">
<statement>the ordinary java statement</statement>
<if condition="Conditional Expression">
<statement> true statements </statement>
</if>
<else>
<statement> false statements </statement>
</else>
<statement> usual control statements </statement>
.
.
.
</method>
</class>
.
.
.
</prg>
Подобным образом, но проблема заключается в условных выражениях if
, а в других операторах содержится много &
или других зарезервированных символов, которые препятствуют проверке XML. Поскольку все эти данные (исходный код) заданы пользователем, я мало контролирую его. Экранирование символов будет очень дорогостоящим с точки зрения времени.
Я могу использовать CDATA для удаления текста элемента, но он не может использоваться для значений атрибутов, содержащих условные выражения. Я использую Antlr Java-грамматику для анализа Java-программы и получения атрибутов и содержимого для тегов. Так есть ли другой способ обхода?