這是查詢:如何將查詢結果一般地映射到生成的XML?
Select id, title, value, old_title, old_value, new_title, new_value FROM VALUES
這個XML:
<row>
<id>
<title>
<value>
<old_state>
<title>
<value>
</old_state>
<new_state>
<title>
<value>
</new_state>
<row>
我這樣做是對現有XML的方式是,我沒有new_state
/old_state
這樣我就可以使用結果,例如。 String colName = meta.getColumnLabel(i + 1);
,並且不需要將old_title
映射到title
。現在我有想到的唯一的事情就是做一個圖,其中的關鍵將是計數器的值和值將是新元素的名稱,這樣
boolean columnNameIsStartElement = (columStartNames.get(i) != null)?true=false;
boolean columnNameIsEndElement = (columEndNames.get(i) != null)?true=false;
if (columnNameIsStartElement){
writer.writeStartElement(columStartNames.get(i))
} else if (columnNameIsEndElement){
writer.writeEndElement(columStartNames.get(i))
}
//continue processing the element as usual
但我不喜歡它。我更喜歡以某種方式使用XSD,因此解決方案更通用,並且不需要我計算元素的行數,以便我可以正確映射它們(更不用說我會在兒童元素具有額外的孩子,我怎麼可以映射?:))
看起來不錯,但我從結果集寫入XML,沒有對象之間,因爲我認爲這會創建額外的負載。 – Andrija 2011-02-11 11:54:52