2010-03-04 123 views
1

我的XML文件是这样的:需要帮助解决XML解析器错误

<?xml version="1.0" encoding="UTF-8"?> 
<table_data name="finals"> 
    <row id="2706" lat="40.6894729000" lng="-73.9692572000" body="Rumor:owner does buybacks atBrooklyn Public House in Fort Greene...are the bartenders as nice? #bars #nyC#fortgreene - www.buybacknyc.com"/> 
    <row id="2707" lat="40.7127490000" lng="-73.9567950000" body="http://twitpic.com/163iax - Ottoman Lounge on Grand Street in Williamsburg Brooklyn, next to Taco Chulo restaurant."/> 
    <row id="2708" lat="40.7127490000" lng="-73.9567950000" body="RT @NYCphotos: http://twitpic.com/163iax - Ottoman Lounge on Grand Street in Williamsburg Brooklyn, next to Taco Chulo restaurant."/> 
</table_data> 

在使用ant索引中solr-1.5这个文件,我得到了错误:

[java] Exception in thread "main" org.xml.sax.SAXParseException: Element type "row" must be followed by either attribute specifications, ">" or "/>". 
    [java]  at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) 
    [java]  at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.seekCloseOfStartTag(XMLDocumentFragmentScannerImpl.java:1391) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1324) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) 
    [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
    [java]  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) 
    [java]  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 
    [java]  at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) 
    [java]  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) 
    [java]  at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) 
    [java]  at javax.xml.parsers.SAXParser.parse(SAXParser.java:395) 
    [java]  at javax.xml.parsers.SAXParser.parse(SAXParser.java:198) 
    [java]  at OSM2Solr.process(OSM2Solr.java:44) 
    [java]  at Driver.main(Driver.java:80) 
    [java] Java Result: 1 

BUILD SUCCESSFUL 

我的元素“行”后面是属性,为什么我得到这个错误?

请帮我一把。

在此先感谢。

+0

是您在此处发布的XML,是从生产环境中复制/粘贴的吗?或者你是否以任何方式改变它。你得到的错误通常意味着属性之间缺少空格,或者是“在属性值中打破XML ... – 2010-03-04 14:21:56

+2

根据这个:http://wiki.openstreetmap.org /wiki/.osm这不是一个有效的OSM – 2010-03-04 14:47:18

+0

解析器错误得到解决,文件中有1个无效元素 谢谢 Mauricio-是否有必要对任何位置感知搜索数据必须以.osm格式?(我在索尔索引的数据是上面指定的xml格式)。 – kshama 2010-03-05 06:38:30

回答

0

我有同样的错误。

我的问题是schema.xml中的模式名称。架构名称必须是1个字!

<schema name="My Schema" version="0.1"> FAIL! 

<schema name="MySchema" version="0.1"> RIGHT!