xml映射错误

时间:2012-10-16 09:06:52

标签: java xml hibernate xml-parsing

我正在研究项目,因为有一个xml文件(IDE Eclipse Indigo)。 我正面临着sincle line的问题

<?xml version="1.0" encoding="UTF-8"?>
<BookingConfirmRQ xmlns="http://www.expediaconnect.com/EQC/BC/2007/09"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Authentication username="yyyyyyyy" password="xxxxxxxx" />
<Hotel id="<hotelId/>" />
<BookingConfirmNumbers>
    <BookingConfirmNumber bookingID="<bookindId/>"
        bookingType="<bookingType/>" confirmNumber="<confirmNumber/>"
        confirmTime="<confirmTime/>" />
</BookingConfirmNumbers>
</BookingConfirmRQ>

靠近&lt;酒店ID =“&lt; hotelId /&gt;”/&gt; 收到错误,如_

与元素类型“Hotel”关联的属性“id”的值不得包含'&lt;'字符。

我搜索它,检查jar的,重新格式化仍然得到错误,可以sombody帮助我吗? 谢谢你。

3 个答案:

答案 0 :(得分:1)

您可以忽略eclipse windows-preference-validation菜单中的XML验证,如果您不想更改,可以避免此错误

答案 1 :(得分:0)

属性值应仅包含文字文本:

<Hotel id="134" /> 

答案 2 :(得分:0)

您需要在属性值中转义尖括号,如下所示:

     <Hotel id="&lt;hotelId/&gt;" />

与所有其他属性相同。尖括号位于必须以XML格式转义的保留字符列表中。

除非你这样做,否则XML格式不正确,没有任何东西可以处理它。关闭验证 - 即针对DTD或模式的验证 - 在这里无济于事。在解析之前,XML必须格式良好。

也就是说,XML看起来很奇怪,好像你将整个XML元素包含为属性的值,这是错误的。因此,即使你修复了逃避问题,这个XML也可能没有说出你的意思。