Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析Xml时出错_Java - Fatal编程技术网

Java 解析Xml时出错

Java 解析Xml时出错,java,Java,iam尝试使用dom解析器解析xml时发生SAXParseException 下面是使用 public static getAlertsFromXML(InputStream strAlerts) { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocument

iam尝试使用dom解析器解析xml时发生SAXParseException

下面是使用

public static getAlertsFromXML(InputStream strAlerts) {
                              DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                DocumentBuilder db = dbf.newDocumentBuilder();
                InputSource is = new InputSource(strAlerts);        
                is.setEncoding("UTF-8"); 
                Document doc =db.parse(is); 
}
org.xml.sax.SAXParseException:运行代码时显示文件过早结束

xml是

<?xml version="1.0" encoding="UTF-8"?>
-<seloger result="1" url="http://wshp.seloger.com/getalerts.xml?printerid=3Gs8rsDHrclGqD1Hrr1p08dr2" version="1.0">
<!-- ID3x v4.60 (387) - X29 - 00.056.330 - base - 14/03/2012 09:56:09 - getalerts.xml -->
 -<listalerts> -<alert> <alertId>10049086</alertId> <description>locations d'appartements ou de maisons situées dans le 75, ayant une surface supérieure à 567 m², pour un loyer inférieur à 100 000 000 €/mois, triées par prix.</description> <creationDate>2011-10-13T11:16:00</creationDate> <queryString>cp=75&idqfix=1&idtt=1&idtypebien=1,2&px_loyerbtw=NAN%2f100000000&surfacebtw=567%2fNAN&tri=</queryString> </alert> -<alert> <alertId>9348308</alertId> <description>ventes situées à Caen (Calvados), à Cambes (Lot-et-Garonne), à Paris 1er, à Paris 2ème, à Paris 3ème, à Paris 4ème, à Paris 5ème, à Paris 6ème, à Paris 7ème, à Paris 8ème, à Paris 9ème, à Paris 10ème, à Paris 11ème, à Paris 12ème, à Paris 13ème, à Paris 14ème, à Paris 15ème, à Paris 16ème, à Paris 17ème, à Paris 18ème, à Paris 19ème ou à Paris 20ème, ayant une surface inférieure à 1 000 m², triées par prix.</description> <creationDate>2011-06-27T07:42:00</creationDate> <queryString>ci=140118,470047,750101,750102,750103,750104,750105,750106,750107,750108,750109,750110,750111,750112,750113,750114,750115,750116,750117,750118,750119,750120&fakeci=750056&idqfix=1&idtt=2&idtypebien=all&nb_chambres=all&nb_pieces=all&pxbtw=NaN%2fNaN&surfacebtw=NaN%2f1000&tri=d_dt_crea</queryString> </alert> -<alert> <alertId>9337215</alertId> <description>ventes situées à Paris 1er, à Paris 2ème, à Paris 3ème, à Paris 4ème, à Paris 5ème, à Paris 6ème, à Paris 7ème, à Paris 8ème, à Paris 9ème, à Paris 10ème, à Paris 11ème, à Paris 12ème, à Paris 13ème, à Paris 14ème, à Paris 15ème, à Paris 16ème, à Paris 17ème, à Paris 18ème, à Paris 19ème ou à Paris 20ème, ayant une surface inférieure à 1 000 m², pour un prix compris entre 50 et 1 000 €, triées par prix.</description> <creationDate>2011-06-24T13:40:00</creationDate> <queryString>ci=750101,750102,750103,750104,750105,750106,750107,750108,750109,750110,750111,750112,750113,750114,750115,750116,750117,750118,750119,750120&fakeci=750056&idqfix=1&idtt=2&idtypebien=all&nb_chambres=all&nb_pieces=all&pxbtw=50%2f1000&surfacebtw=NaN%2f1000&tri=d_dt_crea</queryString> </alert> </listalerts> </seloger>

-
- 10049086个地点Dou'Masi-MasieStayes Des Le 75,Ayune UnE SureReEueRe 567 m,UNunLoYER INFE ReReURR 100 100 000 000欧元/MOIS,TIEEES ES PARIX。2011-10-13T11:16:00 cp=75&idqfix=1&idtt=1&idtypebien=1,2&pxèu loyerbtw=NAN%2f100000000&surfacebtw=567%2fNAN&tri=-9348308 ventes siteéeséeséCaen(卡尔瓦多斯)、CambeséCambeséCambes(Lot et Garonne)、巴黎1、巴黎2ème、巴黎3ème、巴黎4ème、巴黎5ème、巴黎6ème、巴黎7ème、巴黎8ème、,巴黎11号,巴黎12号,巴黎13级,巴黎14级,巴黎15级,巴黎16级,巴黎17级,巴黎18级,巴黎19级20 20米,AYANT UNE地面INFEI 1 1平方米,TIEE ES PARIX。2011-06-27T07:42:00 ci=1401184700477501750102750103750104750105750106750107750108750109750110750111750112750113750114750115750116750118750119750120&fakeci=75056&idqfix=1&idtt=2&idtypebien=all&nb_chambres=all&nb_件=all&pxbtw=NaN%2fNaN&surfacebtw=NaN%2f1000&tri=dú=dúúúúúúúúúúúúú,巴黎2我、巴黎3我、巴黎4我、巴黎5我、巴黎6我、巴黎7我、巴黎8我、巴黎9我、巴黎10我、巴黎11我、巴黎12我、巴黎13我、巴黎14我、巴黎15我、巴黎16我、巴黎17我、巴黎18我、巴黎19我、巴黎20我,AyANT UNE表面INFEIEREUE(1)000米,浇注UNIX CINIS INTER 50 ET 1 1欧元,TIEE ES PAR PRIX。2011-06-24T13:40:00 ci=7501017501027501037501047501057501067501077501087501097501107501117501127501137501147501157501167750118750119750120&fakeci=75056&idqfix=1&idtt=2&idtypebien=all&nb\U CHAMBERS=all&nb\U件=all&pxbtw=50%2f1000&SURFEBTW=NaN%2f1000&tri=d\dt\U crea

除非对其进行转义,否则xml流中不能有&符号

符号是xml中的保留字符<代码>Bob&Mary Johnson不是有效的XML。您必须将其转义为&或将其包装,以便对XML解析器隐藏它,例如


有关更多信息,请参阅

您能告诉我们您试图解析的XML吗?是的,XML是有效的…因为在我将函数参数strAlerts更改为INputStream时发生了以下异常。我只需要将参数作为INputStream传递。如果您确定您的XML是有效的,您必须三思而后行清除()流您有未转义的符号和(
)在
元素中,Xml是有效的…因为在我将函数参数strAlerts更改为INputStream时发生以下异常。我只需要将参数作为INputStream传递。您的意思是cp=75&idqfix=1&idtt=1&idtypebien=1,2&px\u loyerbtw=NAN%2F10000000&surfacebtw=567%2fNAN&tri=有效?您可以从代码中验证此片段无论是使用任何xml工具(记事本+)还是在线,我都可以知道拒绝投票的原因。请添加拒绝投票的原因作为评论。