2014-02-13 39 views
0

我想查询加载到蜂巢表大XML蜂巢Xpath的XML:内容是不允许在序言

CREATE TABLE test (
xmlfile STRING 
); 

完整的XML是在这里:http://bpaste.net/show/178819/

<dataroot> 
    <AccessPoint> 
     <Denominazione>Piazza G.Garibaldi</Denominazione> 
     <Latitudine>41.9607</Latitudine> 
     <longitudine>12.7963</longitudine> 
     <Indirizzo>Piazza G.Garibaldi</Indirizzo> 
     <Comune>Tivoli</Comune> 
     <Tipologia>Privati federati</Tipologia> 
    </AccessPoint> 
    <AccessPoint> 
     <Denominazione>Piazza Tempio D&apos;Ercole</Denominazione> 
     <Latitudine>41.9653</Latitudine> 
     <longitudine>12.7977</longitudine> 
     <Indirizzo>Piazza Tempio D&apos;Ercole</Indirizzo> 
     <Comune>Tivoli</Comune> 
     <Tipologia>Privati federati</Tipologia> 
    </AccessPoint> 
    ... 
</dataroot> 

所以我想用

SELECT XPATH(xmlfile,'dataroot/AccessPoint/Denominazione/text()') FROM test; 
... 
Job running in-process (local Hadoop) 
[Fatal Error] :1:1: Content is not allowed in prolog. 
+0

[org.xml.sax.SAXParseException:内容在prolog中是不允许的]的可能的重复(http://stackoverflow.com/questions/5138696/org- XML-SAX-的SAXParseException-内容是-不被允许功能于序言) – Raedwald

回答

0

已解决。有两个问题:是坏形成

  1. XML内容

    [bash]$ cat -A xmlfile 
    M-oM-;M-?<?xml version="1.0" encoding="UTF-8"?>^M$ 
    ... 
    
  2. XML必须全部在一行上。我很快就用:%j on vim

相关问题