2012-02-01 1 views
0

안녕하세요, eXist 및 Xquery를 처음 사용했습니다.XML 구문 분석 오류 : Xquery의 문서 요소 뒤의 정크

여기 내 문제가 있습니다. xQuery를 사용하여 xML 파일 (eXist 데이터베이스에 저장 됨)에서 일부 데이터를 검색하려고했습니다. 조건없이 검색 만하면 괜찮아집니다. 나는 그것이 나에게이 오류주는 몇 가지 조건을 사용하고 경우 :

declare namespace xdb = "http://exist-db.org/xquery/xmldb"; 

for $x in doc("/db/skripsi/database/PTI/spreadrum_g189.xml")//* 
where data($x)="1" 
return $x 

XQL 코드는 다음과 같습니다

<?xml version="1.0" ?> 
<produk> 
    <prod_detail> 
     <prod_name>Spreadrum G189</prod_name> 
     <struc>PDA</struc> 
     <company_org>pti</company_org> 
    </prod_detail> 
    <hard_spec> 
     <chipset>SC6800H</chipset> 
     <comm> 
      <sim_mode> 
       <single></single> 
       <dual></dual> 
      </sim_mode> 
      <netw_freq>EGSM900/DCS1800</netw_freq> 
      <gprs></gprs> 
      <voice_encode></voice_encode> 
     </comm> 
     <disp> 
      <lcd_info>3.5 HVGA 320*480</lcd_info> 
      <back_light>0</back_light> 
      <touch_scr>1</touch_scr> 
      <vice_scr>0</vice_scr> 
      <tp_conn>welded</tp_conn> 
      <com_ipcall_disp>1</com_ipcall_disp> 
     </disp> 
     <cam> 
      <cam_pos> 
       <front_cam>1</front_cam> 
       <back_cam>1</back_cam> 
      </cam_pos> 
      <cam_pix> 
       <front_cam>0.3Mp</front_cam> 
       <back_cam>2Mp</back_cam> 
      </cam_pix> 
      <cam_chip>CMOS</cam_chip> 
      <flash>1</flash> 
      <cam_con>Welded</cam_con> 
     </cam> 
     <pcb_size> </pcb_size> 
     <sound> 
      <speaker>class D (1524)</speaker> 
      <player>yes</player> 
     </sound> 
     <store> 
      <memory_capacity>1G+256M</memory_capacity> 
      <mem_card>1</mem_card> 
     </store> 
     <data_trans> 
      <USB>1</USB> 
      <infrared>0</infrared> 
      <bluetooth>1</bluetooth> 
      <wifi></wifi> 
     </data_trans> 
     <mult> 
      <fm>1</fm> 
      <tv>0</tv> 
      <gps>0</gps> 
     </mult> 
     <butt> 
      <keypad> 
       <qwerty>0</qwerty> 
       <func_key>5</func_key> 
       <num_key>0</num_key> 
       <side_key>volume and camera key (FPC)</side_key> 
       <key_ext></key_ext> 
       <color_key>white</color_key> 
      </keypad> 
      <touch_key>0</touch_key> 
      <trackball>0</trackball> 
      <opt_mouse>0</opt_mouse> 
      <led>0</led> 
     </butt> 
     <ui> 
      <connect_sim>rangkap 3</connect_sim> 
      <ext_deck>TF socket card</ext_deck> 
      <rf_test_port>no</rf_test_port> 
      <intfc_io>micro 5 pin usb</intfc_io> 
      <headphone_jack>micro 5 pin usb</headphone_jack> 
      <charging_ui>micro 5 pin usb</charging_ui> 
      <ui_usb>micro 5 pin usb</ui_usb> 
      <speed_touch>0</speed_touch> 
     </ui> 
     <other> 
      <batt>900mAh</batt> 
      <antenna>PIFA</antenna> 
      <torch>0</torch> 
     </other> 

    </hard_spec> 

    <soft_spec> 
     <style>android iphone</style> 
     <comm> 
      <sim_vas>1</sim_vas> 
      <data_con> 
       <gprs>1</gprs> 
       <wap>1</wap> 
      </data_con> 
      <message> 
       <sms> 
        <swr>1</swr> 
        <sin>1</sin> 
        <sout>1</sout> 
        <sdrf>1</sdrf> 
        <ssent>1</ssent> 
       </sms> 
       <mms> 
        <mwr>1</mwr> 
        <min>1</min> 
        <mout>1</mout> 
        <mdrf>1</mdrf> 
        <msent>1</msent> 
        <group_mms>1</group_mms> 
        <mms_chat_room>1</mms_chat_room> 
        <comm_bm>1</comm_bm> 
       </mms> 
       <email> 
        <esent>0</esent> 
        <erecv>0</erecv> 
        <ein>0</ein> 
        <eout>0</eout> 
        <esent>0</esent> 
        <edrft>0</edrft> 
        <eact>0</eact> 
       </email> 
      </message> 
      <phone_book> 
       <capacity>500</capacity> 
       <search_con>1</search_con> 
       <add>1</add> 
       <save>1</save> 
       <dial>1</dial> 
       <grup_num>1</grup_num> 
       <captive_chk>1</captive_chk> 
      </phone_book> 
      <call> 
       <sim_hist> 
        <sim1>1</sim1> 
        <sim2>1</sim2> 
       </sim_hist> 
       <dial_up_ip>1</dial_up_ip> 
       <call_grup>0</call_grup> 
       <set_call_id>0</set_call_id> 
       <call_div>1</call_div> 
       <call_bar>1</call_bar> 
       <call_hold>1</call_hold> 
       <call_redial>1</call_redial> 
       <call_fee>1</call_fee> 
       <handsfree>1</handsfree> 
       <cdial>1</cdial> 
       <crecv>1</crecv> 
       <call_rec></call_rec> 
      </call> 
     </comm> 
     <multimedia> 
      <cam> 
       <sw_cam>1</sw_cam> 
       <sub_cam>1</sub_cam> 
       <main_cam>1</main_cam> 
       <capt>1</capt> 
       <zoom>1</zoom> 
       <contras>1</contras> 
       <save>1</save> 
       <flash>0</flash> 
       <set_to_wpp>1</set_to_wpp> 
       <view_pic>1</view_pic> 
       <wb_conf>1</wb_conf> 
       <cont_photo>1</cont_photo> 
       <exposure_comp>1</exposure_comp> 
       <effect_set>1</effect_set> 
      </cam> 
      <video> 
       <vid_form> 
        <mp4>1</mp4> 
        <trigp>1</trigp> 
        <avi>1</avi> 
        <rmvb>1</rmvb> 
        <king_mov>1</king_mov> 
       </vid_form> 
       <vid_rec>1</vid_rec> 
       <sw_cam>1</sw_cam> 
       <vid_fcam>0</vid_fcam> 
       <vid_rcam>1</vid_rcam> 
       <vid_zoom>1</vid_zoom> 
       <contras>1</contras> 
       <save> 
        <phone>1</phone> 
        <mmc>1</mmc> 
       </save> 
       <vid_play>1</vid_play> 
       <vid_disp>1</vid_disp> 
       <adj_vol>1</adj_vol> 
       <add_vid> 
        <from_card>1</from_card> 
        <from_phone>1</from_phone> 
       </add_vid> 
       <vid_app>1</vid_app> 
      </video> 
      <audio> 
       <aud_form> 
        <mp3>1</mp3> 
        <wav>1</wav> 
        <midi>1</midi> 
       </aud_form> 
       <play>1</play> 
       <playlist>1</playlist> 
       <play_sett>1</play_sett> 
       <back_sound>1</back_sound> 
       <btooth_aud_out>0</btooth_aud_out> 
       <adj_vol>1</adj_vol> 
       <add> 
         <from_card>1</from_card> 
         <from_phone>1</from_phone> 
        </add> 
       <radio>1</radio> 
       <radio_menu> 
        <rad_play>1</rad_play> 
        <adj_vol>1</adj_vol> 
        <select_feq>1</select_feq> 
        <save_freq>0</save_freq> 
        <search_freq>1</search_freq> 
        <record>0</record> 
        <save> 
         <card>0</card> 
         <phone>0</phone> 
        </save> 
       </radio_menu> 
       <sound_rec>1</sound_rec> 
       <sound_rec_menu> 
        <record>1</record> 
        <play>1</play> 
        <save> 
         <card>1</card> 
         <phone>1</phone> 
        </save> 
       </sound_rec_menu>     
      </audio> 
      <imaging> 
       <im_viewer>1</im_viewer> 
       <im_viewer_menu> 
        <rotate>1</rotate> 
        <zoom>1</zoom> 
        <slide>1</slide> 
        <set_wpp>1</set_wpp> 
        <send>1 
         <via_btooth>1</via_btooth> 
         <via_mms>1</via_mms> 
        </send> 
        <edit>1</edit> 
        <detail>1</detail> 
       </im_viewer_menu> 
       <photo_editor>1</photo_editor> 
       <photo_editor_menu> 
        <auto_resize>0</auto_resize> 
       </photo_editor_menu> 
      </imaging> 
      <another_mfunc> 
       <tv>1</tv> 
       <games>1</games> 
       <gps>0</gps> 
       <keypad_lock>1</keypad_lock> 
      </another_mfunc> 
     </multimedia> 
     <service> 
      <sim_serv> 
       <stk_sim_1>1</stk_sim_1> 
       <stk_sim_2>1</stk_sim_2> 
       <browsing>1</browsing> 
      </sim_serv> 
      <chat>1</chat> 
      <java>0</java> 
      <opera>0</opera> 
      <m_offc>0</m_offc> 
      <fb_sc>0</fb_sc> 
      <pimo_sc>0</pimo_sc> 
      <tpulsa_sc>0</tpulsa_sc> 
     </service> 
     <tools> 
      <btooth> 
       <on_off>1</on_off> 
       <send>1</send> 
       <recv>1</recv> 
       <a2dp>0</a2dp> 
      </btooth> 
      <cald>1</cald> 
      <calc>1</calc> 
      <task>0</task> 
      <alarm>1</alarm> 
      <w_clock>1</w_clock> 
      <u_convrt>1</u_convrt> 
      <curr_conv>1</curr_conv> 
      <health_man>1</health_man> 
      <ebook_read>1</ebook_read> 
      <swatch>0</swatch> 
      <notes>1</notes> 
      <code_table>1</code_table> 
      <updownload_pbook>0</updownload_pbook> 
      <usr_prof>1</usr_prof> 
      <handwritting>1</handwritting> 
     </tools> 
     <sett> 
      <file_man> 
       <int_mem>1</int_mem> 
       <ext_mem>1</ext_mem> 
       <rwmrmov>1</rwmrmov> 
       <format>1</format> 
      </file_man> 
      <disp> 
       <wpp>1</wpp> 
       <ssaver>1</ssaver> 
       <pon_disp>1</pon_disp> 
       <poff_disp>1</poff_disp> 
       <show_own_num>0</show_own_num> 
      </disp> 
      <p_sett> 
       <sch_pow_on>1</sch_pow_on> 
       <in_lang> 
        <eng>1</eng> 
        <stroke>1</stroke> 
        <piyin>1</piyin> 
        <french>0</french> 
        <german>0</german> 
        <spain>0</spain> 
        <russian>0</russian> 
        <indonesian>1</indonesian> 
        <portugis>0</portugis> 
        <turkish>0</turkish> 
        <persian>0</persian> 
        <italia>0</italia> 
       </in_lang> 
       <lang> 
        <eng>1</eng> 
        <ind>0</ind> 
        <china>1</china> 
        <french>0</french> 
        <german>0</german> 
        <spain>0</spain> 
        <russian>0</russian> 
        <indonesian>0</indonesian> 
        <portugis>0</portugis> 
        <turkish>0</turkish> 
        <persian>0</persian> 
        <italia>0</italia> 
       </lang> 
       <time_date>1</time_date> 
       <pref_in>0</pref_in> 
       <greet_text>0</greet_text> 
       <dedic_key>0</dedic_key> 
       <auto_update_time>1</auto_update_time> 
       <uart_sett>0</uart_sett> 

      </p_sett> 
      <s_oth> 
       <sound_sett>1</sound_sett> 
       <sound_sett_opt> 
        <aud_eff>1</aud_eff> 
        <bass_ench>0</bass_ench> 
       </sound_sett_opt> 
       <dual_sim_sw>0</dual_sim_sw> 
       <dual_sim_sett>0</dual_sim_sett> 
       <pen_call>0</pen_call> 
       <netw_sett>0</netw_sett> 
       <sec_sett>0</sec_sett> 
       <rest_sett>0</rest_sett> 
      </s_oth> 
      <misc_sett> 
       <sens_app> 
        <wall_shuff>0</wall_shuff> 
        <mp3_shuff>0</mp3_shuff> 
        <phone_shake>0</phone_shake> 
        <shake_to_read_sms>0</shake_to_read_sms> 
        <fm_chs_shake>0</fm_chs_shake> 
        <revrse_phone_mute>0</revrse_phone_mute> 
        <double_knock_mute>0</double_knock_mute> 
       </sens_app> 
       <voiceaid_sett> 
        <engin_sett>0</engin_sett> 
        <r_in_call>0</r_in_call> 
        <r_in_mess>0</r_in_mess> 
        <r_time_on_idle>0</r_time_on_idle> 
        <r_time_per_hour>0</r_time_per_hour> 
        <r_menu>0</r_menu> 
        <r_mesg>0</r_mesg> 
        <r_charge>0</r_charge> 
        <r_dial>0</r_dial> 
        <vol>0</vol> 
        <rate>0</rate> 
        <pith>0</pith> 
       </voiceaid_sett> 
       <wapp> 
        <wapp_form> 
         <gif>1</gif> 
         <bmp>1</bmp> 
         <jpg>1</jpg> 
        </wapp_form> 
        <wall_cust>1</wall_cust> 
        <dynamic_screensaver>0</dynamic_screensaver> 
       </wapp> 
      </misc_sett> 
     </sett> 

     <misc_func> 
      <ani> 
       <p_on_logo>1</p_on_logo> 
       <p_off_logo>1</p_off_logo> 
      </ani> 
      <ring> 
       <default>1</default> 
       <ring_form> 
        <mp3>1</mp3> 
        <midi>1</midi> 
        <wav>1</wav> 
       </ring_form> 
       <back_ring_for_call>1</back_ring_for_call> 
       <ring_edit>1</ring_edit> 
      </ring> 
      <vib_feedback> 
       <touch_scr>1</touch_scr> 
       <dial_num>1</dial_num> 
      </vib_feedback> 
     </misc_func> 
    </soft_spec> 
</produk> 

그리고 여기 내 XQL 코드입니다 : 여기

XML Parsing Error: junk after document element

XML 파일입니다 실제로 샌드 박스에서 잘 작동하지만 실제로 구현할 때 오류가 발생하는 이유를 모르겠습니다. (

답변

0

나는 당신이보고하는 문제를 재현하는 방법을 알고하지 않습니다,하지만 당신은 단지 문서의 텍스트 노드에 평등 테스트를 적용 할 경우 쿼리가 더 정확합니다

declare namespace xdb = "http://exist-db.org/xquery/xmldb"; 
for $x in doc("/db/skripsi/database/PTI/spreadrum_g189.xml")//* 
where $x/text() = "1" 
return $x 

그렇지 않으면, data() 기능이 실행됩니다 문서의 모든 요소 노드에서 (자손 노드가 더 많은 노드를 포함하여) 오랜 시간이 걸릴 수 있으며 처리 된 데이터가 너무 커질 경우 오류가 발생할 수 있습니다. 이 도움이

희망, 기독교

+0

그것은 이미 해결되었습니다 : D 경로 때문에, 데이터베이스와 동일한 레벨이 아닌 최상위 레벨에서 실행해야합니다 :) :) – user1183172

0
XML Parsing Error: junk after document element 

이 닫는 문서 노드 후 일부 쓰레기의 콘텐츠를 가리키는 -이 경우 </produk> 후. XML은. 서 노드 다음에 내용 (expcept PIs, comments, whitespace)을 허용하지 않습니다. 일부 텍스트 편집기에서 내용을 열고 보호 된 공백, BOM 등과 같은 원치 않는 문자가 없는지 확인하십시오.

붙여 넣은 파일의 전체 XML 내용을 복사 했으므로 괜찮습니다. 어쩌면 그냥 다시 복사하려고합니다.

+0

고맙습니다. 실행시 존재하는 경로 문제가 있기 때문에 나는 그것이 샌드 박스를 사용할 때 완벽하게 작동하기 전에 말했다. 당신의 도움을 주셔서 감사합니다 :) – user1183172

관련 문제