Как включить &, <,> и т. Д. В значения атрибутов XML

Я хочу создать XML-файл, который будет использоваться для хранения структуры программы Java. Я могу успешно проанализировать программу Java и при необходимости создать теги. Проблема возникает, когда я пытаюсь включить исходный код в свои теги, поскольку исходный код Java может использовать огромное количество ссылок на сущности и зарезервированных символов, таких как & , , > , и . Я не могу создать действительный XML.

Мой XML должен выглядеть так:



  
        the ordinary java statement
        
           true statements 
        
        
           false statements 
        
         usual control statements 
 .
 .
 .
      
    
 .
 .
 .
 

Вот так, но проблема заключается в условных выражениях if или других операторах, содержащих много и или других зарезервированных символов, что препятствует проверке XML. Поскольку все эти данные (исходный код) предоставляются пользователем, я практически не могу их контролировать. Экранирование символов будет очень затратным с точки зрения времени.

Я могу использовать CDATA для экранирования текста элемента, но его нельзя использовать для значений атрибутов, содержащих условные выражения. Я использую Antlr грамматику Java для анализа программы Java и получения атрибутов и содержимого для тегов. Есть ли другой способ решения этой проблемы?

40
задан Jens 22 February 2015 в 21:10
поделиться