Thread View: pl.comp.xml
2 messages
2 total messages
Started by sobczyk.wojciech
Mon, 26 Feb 2007 01:33
Problem z XPath i namespaces
Author: sobczyk.wojciech
Date: Mon, 26 Feb 2007 01:33
Date: Mon, 26 Feb 2007 01:33
13 lines
1447 bytes
1447 bytes
Mam oto taki XML: <xml xmlns="http://abc"> <A t="ttt"></A> <B xmlns="http://qwerty"><X>aaaa</X></B> </xml> Jak wybrać element "B" za pomocą XPath bez modyfikacji tego xml-a? węzeł A wybiera bez problemu: /xml/A za to /xml/B nie działa, a jak usunę xmlns="http://qwerty" to działa. Nie można niestety zmienić tego xml-a i dodać aliasu do przestrzeni nazw: xmlns:x="http://qwerty"
Re: Problem z XPath i namespaces
Author: szomiz
Date: Mon, 26 Feb 2007 07:58
Date: Mon, 26 Feb 2007 07:58
26 lines
1801 bytes
1801 bytes
Użytkownik <sobczyk.wojciech@gmail.com> napisał w wiadomości
news:1172453590.725315.10010@z35g2000cwz.googlegroups.com...
> Mam oto taki XML:
> <xml xmlns="http://abc">
> <A t="ttt"></A>
> <B xmlns="http://qwerty"><X>aaaa</X></B>
> </xml>
> Jak wybrać element "B" za pomocą XPath bez modyfikacji tego xml-a?
Koszernie: zadeklarowac parserowi przestrzenie nazw z nadanymi na potrzeby
wyszukiwania prefiksami (i nie ma znaczenia ze nie wystepuja one fizycznie w
dokumencie).
Np.w msxml:
setProperty('SelectionNanespaces','xmlns:ns1="uri1" xmlns:ns2="uri2"')
I pozniej:
/ns1:xml/ns2:B
Bez deklarowania przestrzeni tez sie da, ale strasznie brzydko to wyglada:
/*[name()='nazwa'][namespace-uri()='uri1']
sz.
P.S. Ten Wojtek S.?
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads