我有一个由MS Excel创建的XML文件,其元素如下:
SELECT
x.*, CONCAT(u.FirstName, ' ', u.LastName) AS name, u.Gender AS gender
FROM (
SELECT
p.id , p.post, p.date_time, p.user_id AS uid, COUNT(c.post_id) AS 'count'
FROM
posts p
LEFT JOIN
comments c ON p.id = c.post_id
GROUP BY
p.id
) x
LEFT JOIN
users u ON u.id = uid
当第一行的第二个单元格被函数读取时:
<Row ss:Height="18.75">
<Cell ss:StyleID="s24"/>
<Cell ss:StyleID="s25"><Data ss:Type="String">22. Department"GS "NAES "ABCDEF"in Brucele</Data></Cell>
<Cell ss:StyleID="s24"/>
<Cell ss:StyleID="s24"/>
<Cell ss:StyleID="s24"/>
<Cell ss:StyleID="s259"/>
</Row>
<Row ss:Height="45">
<Cell ss:StyleID="s97"><Data ss:Type="String">1210.1</Data></Cell>
<Cell ss:StyleID="s98"><Data ss:Type="String">Boss of Department"GS "NAES "ABCDEF"in Brucele</Data></Cell>
<Cell ss:StyleID="s99"><Data ss:Type="String">керівник</Data></Cell>
<Cell ss:StyleID="s223"><Data ss:Type="Number">22</Data></Cell>
<Cell ss:StyleID="s100"><Data ss:Type="Number">1</Data></Cell>
<Cell ss:StyleID="s276"><Data ss:Type="String">Petrov ivan</Data></Cell>
</Row>
public void characters(char[] ch, int start, int length){
String str = new String(ch, start, length);
...
}
仅包含textnode的“22. Department”部分。
答案 0 :(得分:1)
您应该在characters()
中收集字符串,因为对于标记对之间的内容,可以多次调用此方法。我的示例实体"
强制解析器进行多次characters()
调用。注意:解析器可以为实体调用特殊的回调。
因此,您应该为解析器中附加字符串的字符使用实例变量。如果新元素开始,您必须清除其内容。