问题描述
你将不得不逃脱
" to "
' to '
< to <
> to >
& to &
用于xml。
解决方法
我想创建一个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程序并获取标记的属性和内容。那么,还有其他解决方法吗?