2014-09-18 1 views
2

을 무시하고이 들어 나는 다음과 같은 XML이 :사용 XPath는 악센트

<p id="korlatozas" class="korlatozas">Akácos u.; Alkony u.; Alkotmány u.; Állomás u.; Almássy K. tér; Alpár u.; Alsósor u.; Arany J. u.; Árpád u.; Árpád u.; Árvíz u.; Attila u.; Aulich L. u.; Babits u.; Bajcsy-Zsilinszki u. Bánya u.; Bástya u.; Báthory u.; Batthyány u.; Bay tér; Béke sgt páros oldal; Béke tér; Béke u.; Bethlen G. u.; Bibic u.; Bihari u.; Bocskai u.; Botond u.; Böki út; Corvin u.; Csendes u.; Csiga u.; Csókos u.; Damjanich u.; Dancza u.; Darvas J. u.; Deák F. tér; Délibáb u.; Derkovics köz; Diófa u.; Dob u.; Dózsa Gy.u.; Ecsedi u.; Eminescu u.; Erdélyi S. u.; Erdős K. köz; Erkel tér; Ernyő u.; Erzsébet u.; Esze T. u.; Eszperantó tér; Farkashalom tanya; Fehér-Körös u.; Fekete sas u.; Furminc u.; Gábor Á. u.; Galamb u.; Gallacz J. u.; Gelvács u.; Garay u.; Görbe u.; Gát u.; Gyár u; Gyöngyösi u.; Gyöngyvirág tér; Gyulai László u; Hajnal; u.; Hajós u.; Halász Sor.; Harrucken tér; Határőr u.; Hársfa u.; Hét vezér u.; Híd u.; Hold u.; Hollósy köz; Horgász u.; Horváth F. u.; Hunyadi u.; Huszka u.; Illyés Gy. u.; Irinyi J. u.; Iskola u.; József A. tér; József A. u.; Juhász Gy. u.; József Benedek tanya; Kaffka M. u.; Kálvária tanya; Kálvin, u.; Kapa u.; Karácsony J. u.; Károlyi M. u.; Kastélykert u.; Katona J. tér; Kazinczy u.; Kenyérsütő u.; Kerecsényi u.; Kerék u.; Kertalj u.; Kertes u.; Keszi u.; Kétegyházi út; Kétmalom u.; Kígyó u.; Kígyósi u.; Kinizsi P. u.; Kisbök u.; Kiss J. u.; Kisvasút u.; Klapka Gy u.; Kodály Z. u.; Kohán Gy. u.; Kossuth L. u.; Kökény u.; Körgát u.; Kölcsey u.; Kölcsey u.; Körösi Cs. S. u.; Kurta u.; Kurucz u.; Kürt u.; Laktanya u.; Lehel u.; Liceum tér; Liget u.; Madarász köz; Malom u.; Madách u.; Malomsor u.; Mályvádi u.; Maróthi u.; Mátyás kir u.; Megyeház u.; Mikes K. u.; Mikszáth K. u.; Móra F .u.; Móricz Zs. u.; Munkácsy M. u.; Nagybök u.; Nagyváradi út; Oláh Gy. u.; Pacsirta u.; Pálffy u.; Part u.; Petőfi tér; Petőfi u.; Pejrét tanya; Pfiffner P. u.;Pomucz tábornok tér; Pomucz u.; Rábai M. u.; Radnóti u.; Rajki L. u.; Régi temető u.; Réthy L. u.; Réz J. u; Rövid u.; Sánc u.; Sarkadi út; Sándorhegy tanya; Sáros u.; Semmelweis u.; Seregélyes dűlő; Simonyi tér; Sinka I. u.; Síp u.; Sirály u.; Sittye u.; Sólymos u.; Sólyom u.; Sport u.; Szabó P. u.; Szabadka u.; Szakáll L. u.; Szarvas u.; Széchenyi tér; Széchenyi u.; Szegedi Kiss I. u; Szélső u.; Szlányi tanya; Szent István u.; Szent L. u.; Szép u.; Szilva u.; Szinyei köz; Szív u.; Szőlőskert u.; Szőnyi köz; Tábor u.; Táncsics u.; Tavasz u.; Temesvári út; Terényi u.; Thorma köz; Thököly u.; Tiborc u.; Toldi u.; Toldi köz; Tomcsányi u.; Tompa u.; Tornyai köz; Toronyi u.; Tölgyfa u.; Uhrin J.u.; Új élet u.; Újsor u.; Újülés u.; Vadaskert u.; Vajda u.; Vár u.; Váralja tér; Várfürdő u.; Várkert u.; Városház u.; Vasút u.; Veress E. u.; Vértes u.; Villa u.; Wesselényi u.; Zöldfa u.; Zrínyi u.; Zug u.; Zsák u.; Zsinór u.; 48-as u.;</p> 

그리고 또 하나

<p id="korlatozas" class="korlatozas">Ady E. u.; Ajtóssy A. u.; Álmos vezér tér; Apor V. tér; Aranyág dűlő; Aranyág u.; Árnyas u.; Asztalos J. u.; Bacsó B. u.; Bajza u.; Balassa u.; Balázs deák u.; Bárány u.; Bárdos u.; Baross u.; Bársony u.; Bartók B. u.; Béke sgt. páratlan oldal; Bem J. u.; Bajnok u.; Bem J. tér; Bercsényi u.; Belső-Törökzug tanya; Berzsenyi u.; Blanár L. u.; Bodoky u.; Bodorka u.; Bodza u.; Bogáncs u.; Bicere tanya; Borz u.; Brassói u.; Budai Nagy A. u.; Budapest krt; Budrió Itp.; Bulcsu u.; Búzavirág u.; Cinka P. u.; Csabai út; Csatorna u.; Cselebi u.; Cserjés u.; Csikóséri sor; Csokonai u.; Dobay u.; Dobó u.; Dobos I. u.; Dobozi út; Dombi L. u.; Dr. Adler I. u.; Dürer A. u.; Első u.; Eötvös L. u.; Erdő tér; Epreskert u.; Észak-Törökzug ; Faiskola u.; Fecske u.; Ferencesek tere; Ferenczy B. u.; Fő u.; Földvári u.; Fürj u.; Gárdonyi G. u.; Gólyahír; Göndöcs u.; Gyep u.; Gyóni G.u.; Gyulai Gál Albert u. Halácsy u.; Határ u.; Henyei M. u.; Hódi u.; Holdas u.; Honvéd u.; Honvéd Itp.; Hosszú u.; Ibolya u.; Ilosvai u.; Ince pápa u.; Jász Lukács u.; Jókai M. u.; József Dezső u.; Kárpát u.; Kassai u.; Kamilla u.; Kertész u.; Késmárki u.; Kis u.;Kisökörjárás tanya; Kiss E. u.; Knézich u.; Kolozsvári u.; Komáromi u.; Kossuth Lajos tér; Kosztolányi u.; Kosár u.; Kőműves u.; Köröspart u.; K. Schriffert J.u.; Kulcs u.; Kulacs u.; Külső-Törökzug tanya; Lahner Gy u.; Láncház u.; Leiningen u.; Lenkei u.;Lila akác u.; Liliom köz; Liszt F. u.; Mágocsi u.; Mágocsi köz; Mogyoróssy u.; N. Szabados u.; Nagysándor J u.; Nagyfenék tanya; Nagyökörjárás tanya; Nap u.; Nürnbergi u.; Nuszbek u.; Október 6 tér; Orgona sétány; Orsovai u.; Palló u.; Pap u.; Patócsy u.; Petik A. u.; Pikó gát sor; Pipacs u.; Pitypang u.; Pósteleki u.; Pozsonyi u.; Rákóczi F. u.; Remete tanya; Rosu u.; Rulikowszki u.; Scherer Ferenc u.; Selyem u.; Sikló sor; Sin sor; Somogyi B. u.; Siórét tanya; Siórét u.; Sitka tanya; Stéberl A. u.; Szabadkai u.; Szarkaláb u.; Szegfű u.; Székely A. u.; Szeregyháza tanya; Szentháromság u.; Szt.József u.; Szerecsen u.; Szigligeti u.; Szikfű u.; Szőlős u.; Szüret u.; T. u.; Temesvári u.; Temető u.; Tessedik S. u.; Tinódi u.; Tormássy tér; Török Ignác u.; Törökzugi ltp.; Törökzugi sor; Tulipán köz;Vadvirág; Varsándi u.; Vásár u.; Vásárhelyi P. u.; Vasvári P. u.; Vécsey K.u.; Vértanuk u.; Virág u.; Vizi u.; Vörösmarty u.; Zöldi u.; Zrínyi M tér; Bodoky major;</p> 

나는 (내가 그것을 관리 할 수 ​​있습니다) 형제 요소를 찾으려하지만 내 문제는 내가 원하는입니다 내 데이터가 들어있는 p를 찾으십시오. 나는 노력이 하나

contains(//p[@id="korlatozas"],"Almos") 

당신은 내가 에게 Almos를 검색 할 볼 수 있지만, XML에서 악센트 Álmos가 수. [// p]를이 방법으로 찾을 수 있습니까?

+0

이 XPath 1.0 또는 2.0입니까? XPath 2.0에서는 문자열 비교에 사용할 데이터 정렬을 지정할 수 있습니다. 적절한 데이터 정렬의 사용 가능 여부는 XPath 프로세서에 따라 다릅니다. –

답변

2

번역 기능을 사용하여이 작업을 수행 할 수 있습니다.

contains(translate(//p[@id="korlatozas"],"Ááéó","Aaeo"),"Almos") 

분명히 다른 외래 문자를 추가하십시오. 이렇게하면 첫 번째 문자열에서 발견 된 두 번째 문자열의 모든 문자가 세 번째 문자열에서 해당 문자로 바뀝니다. 그것은 당신의 프로세서가 XPath Full Text을 지원하는 경우 'ABC'등

+0

+1 아마도 두 입력이 모두 존재한다면'Álmos'와'Almos' 둘 다 발견 할 수 있습니다. –

+1

사실,하지만 나는 그것이 필요하다고 가정했다. 그렇다고 단순히 'Álmos'를 찾지 않았다면 충분했을 것이다. – Flynn1179

+0

예, 필요한 행동입니다. 나는 그 문자열에 어떤 일이 일어나는지에 대한 추가적인 설명을 제안하려고했다. 그것은 실제로 구별 부호를 무시하지 않고 오히려 여러 표면 형태를 공통 토큰으로 정규화합니다. –

2

, 당신은 또한

//p[@id="korlatozas"] contains text "Almos" using diacritics insensitive 

이를 사용하는 'ABC'에서 번역 사용하여,/소문자를 수행하는 데 사용되는 일반적인 기술과 매우 유사 그것이 당신이하고있는 일에서 매우 명확하고 명시 적이기 때문에 내 의견으로는 좋은 견적입니다. 물론 전체 텍스트가 지원되지 않으면 @ Flynn1179의 답을 사용할 수 있습니다.