我正在使用XMLInputFactory
从xml文件中读取数据(sql查询)。
在某些情况下,数据会被截断。例如:
select CASE WHEN count(*) > 0 THEN 'LX1VQMSSRV069 OK' ELSE 'LX1VQMSSRV069 NOK' END from [PIWSLog].[dbo].[log]
读作(文本在最后一个'。'之后被截断):
select CASE WHEN count(*) > 0 THEN 'LX1VQMSSRV069 OK' ELSE 'LX1VQMSSRV069 NOK' END from [PIWSLog].[dbo]
我已经测试了几个字符串,似乎问题出在[].[].[]
中的字符..
我使用的是readind数据:
mySQLquery = event.asCharacters().getData();
另一种情况是字符串是'\ n'。就像,如果它有两个'\ n',event.asCharacters().getData();
读取正确,但如果它有三个'\ n',它会在第二个'\ n'之后截断字符串。这很奇怪!
知道问题是什么,我该如何解决?
答案 0 :(得分:0)
XMLInputFactory
API没有义务一次性为您提供字符串的所有字符。允许传递一系列事件,每个事件都包含一个字符串片段。
您可能会发现,如果您在包含截断字符串的事件之后读取另一个事件,您将找到字符串的其余部分(可能在多个事件之后)。