如何在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程序并获取标记的属性和内容。那么,还有其他解决方法吗?

回答:

你将不得不逃脱

" to  &quot;

' to &apos;

< to &lt;

> to &gt;

& to &amp;

用于xml。

以上是 如何在XML属性值中包含&,&lt;,&gt;等 的全部内容, 来源链接: utcz.com/qa/427848.html

回到顶部