Это более правильно, чем принятый ответ, потому что он обеспечивает минимальный набор необходимых побегов.
у создать файл 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 и получения атрибутов и содержимого для тегов. Так есть ли другой обходной путь для этого?