这是查询:如何将查询结果一般地映射到生成的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