因為在XML中 <
,&
是不准許的,轉換xml時會報錯
這時候會使用![CDATA[
做標記避免此問題
像是java hibernate就常使用此標記,避免sql比較符導致xml格式錯誤
<sql-query name="table">
<![CDATA[
select * from table where id < 10001
]]>
</sql-query>
我用的是opencart,這是完整的code:
<operation>
<search index="0" offset="0">
<![CDATA[
if (!empty($data['filter_email'])) {
]]>
</search>
<add position="before">
<![CDATA[
if (!empty($data['filter_company'])) {
$implode[] = "a.company LIKE '%" . $this->db->escape($data['filter_company']) . "%'";
}
]]>
</add>
</operation>
總結意思是 : 搜尋字串包含 if (!empty($data['filter_email'])) {
的第一組資料,在它之前添加以下程式碼:
if (!empty($data['filter_company'])) {
$implode[] = "a.company LIKE '%" . $this->db->escape($data['filter_company']) . "%'";
}
原始php代碼如下
if (!empty($data['filter_email'])) {
//Logic
}
if (!empty($data['filter_email'])) {
//Logic
}
系統會生成
if (!empty($data['filter_company'])) {
$implode[] = "a.company LIKE '%" . $this->db->escape($data['filter_company']) . "%'";
}
if (!empty($data['filter_email'])) {
//Logic
}
if (!empty($data['filter_email'])) {
//Logic
}
抱歉,我的問題應該是得意思?因為我看到大部分是而已,所以加了index 和 offset有不一樣嗎?主要的意思是什麼?謝謝
所以加了index 和 offset有不一樣嗎?
一定不一樣
xml只是資料結構,邏輯實現程式,規格書沒有說明該屬性代表意思?
舉例:
我可以設定search index=1預設從第1頁查詢
<search index="1">
<![CDATA[
select * from table
]]>
</search>
設定search index=2預設從第2頁查詢
<search index="2">
<![CDATA[
select * from table
]]>
</search>
<operation>
<search index="0" offset="0"><![CDATA[
if (!empty($data['filter_email'])) {
]]></search>
<add position="before"><![CDATA[
if (!empty($data['filter_company'])) {
$implode[] = "a.company LIKE '%" . $this->db->escape($data['filter_company']) . "%'";
}
]]></add>
</operation>
這是完整的code
titanlin
我更新回應在內文
太棒了,謝謝您的幫忙! Opencart您熟嗎?