通過xml處理sql語句時對小於號與大於號的處理轉換

長安散人發表於2013-01-17

當我們需要通過xml格式處理sql語句時,經常會用到<=>>=等符號,但是很容易引起xml格式的錯誤,這樣會導致後臺將xml字串轉換為xml文件時報錯,從而導致程式錯誤。

這樣的問題在iBatiS中或者自定義的xml處理sql的程式中經常需要我們來處理。其實很簡單,我們只需作如下替換即可避免上述的錯誤:

原符號   <    <=    >    >=     &      '       "
替換符號 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;


錯誤的xml格式:

<?xml version="1.0" encoding="GBK"?>
<queryForm token="32sdfj-349sfdnfs32-fsdf348imfg323-df34" tableName="HSY_T_CUSTOMER" pageSize="20" pageNo="1" orderColumn="" orderType="">
  <sqlCondition> AND START_DATE >= to_date('2013-01-01','yyyy-MM-dd') AND START_DATE <= to_date('2013-01-30','yyyy-MM-dd') </sqlCondition>
</queryForm>

在altova XMLSpy工具中會報錯,xml不符合格式要求。



正確的xml格式:

<?xml version="1.0" encoding="GBK"?>
<queryForm token="32sdfj-349sfdnfs32-fsdf348imfg323-df34" tableName="HSY_T_CUSTOMER" pageSize="20" pageNo="1" orderColumn="" orderType="">
  <sqlCondition> AND START_DATE &gt;= to_date('2013-01-01','yyyy-MM-dd') AND START_DATE &lt;= to_date('2013-01-30','yyyy-MM-dd') </sqlCondition>
</queryForm>
在altova XMLSpy工具中驗證通過。

相關文章