如何摆放< xml文件中的符号,由java程序读取?

时间:2012-06-08 07:00:44

标签: java sql xml

我在xml文件中放置一个SQL查询(包含< symbol),我试图在java程序中读取该查询。 但它正在显示异常

  

“org.xml.sax.SAXParseException:元素的内容必须包含在内   格式良好的字符数据或标记。“

任何人都可以帮我解决上述问题吗?

3 个答案:

答案 0 :(得分:7)

您需要使用XML实体进行转义:

  • &编码为&
  • <编码为&lt;

从技术上讲,您不需要逃避以下操作,但通常会这样做:

  • >编码为&gt;
  • "编码为&quot;
  • '编码为&apos;

有关详细信息,请参阅this Wikipedia article了解更多信息

答案 1 :(得分:4)

使用CDATA

CDATA - (Unparsed) Character Data

CDATA 代表字符数据,这意味着这些标记之间的数据包含可以解释为XML标记的数据,但不应该

术语CDATA用于不应由XML解析器解析的文本数据。

像“&lt;”这样的字符和“&amp;”在XML元素中是非法的。

“&LT;”将生成错误,因为解析器将其解释为新元素的开头。

“&安培;”将生成错误,因为解析器将其解释为字符实体的开头。

有些文字,比如JavaScript代码,包含很多“&lt;”或“&amp;”字符。为避免错误,脚本代码可以定义为CDATA。

解析器会忽略CDATA部分内的所有内容。

示例:

<![CDATA[ select <abcddata> ]]>

答案 2 :(得分:3)

< = &gt;
> = &lt;

这些是HTML实体,应该被接受