Thread View: pl.comp.xml
3 messages
3 total messages
Started by Paweł S. Piotrowski
Fri, 29 Jun 2007 06:53
wybieranie podobnych węzłów
Author: Paweł S. Piotrowski
Date: Fri, 29 Jun 2007 06:53
Date: Fri, 29 Jun 2007 06:53
45 lines
1928 bytes
1928 bytes
Witam
Dostaję do wczytania XML który jest "nieco dziwny". Mam w nim strukturę
w stylu:
<root>
<dzial>1</dzial>
<pole1>qwe</pole1>
<pole2>asd</pole2>
<pole3>zxc</pole3>
</root>
Do obróbki tego używam VBScript / MSXML. O ile mogę dostać się np do
znacznika dzial za pomocą konstrukcji:
Set node = Root.getElementsByTagName("Dzial")
Lead = node.Item(0).text
To już z pole1, pole2, pole3 mam kłopot i robię to (IMHO) jakoś dziwnie
:) tzn:
Set Root = objXML.documentElement
For Each x In Root.childNodes
if ( InStr(x.nodeName, "pole") = 1 ) then
wscript.echo x.nodeName
end if
Next
Nie za bardzo wiem jak się do tego zabrać aby MSXML obsłużył mi te
wszystkie elementy: pole1, pole2, pole3, pole(n)...
XQuery? XPath?
getElementsByTagName("pole//*") nie działa a coś w tym stylu (albo
podając przykład z SQL: WHERE kol LIKE 'pole%') bym potrzebował.
Byłbym wdzięczny gdyby ktoś mi podpowiedział w która stronę szukać :)
PS. VBScript + MSXML.DOMDocument jest narzucone z góry..
--
Pozdrawiam
Paweł S. Piotrowski
Re: wybieranie podobnych węzłów
Author: szomiz
Date: Fri, 29 Jun 2007 09:05
Date: Fri, 29 Jun 2007 09:05
33 lines
2151 bytes
2151 bytes
Użytkownik ""Paweł S. Piotrowski"" <psp@wytnij.o2.pl> napisał w wiadomości
news:f62a9k$uu4$1@node4.news.atman.pl...
> Set node = Root.getElementsByTagName("Dzial")
> Lead = node.Item(0).text
Zapomnij o getElementsByTagName.
> Nie za bardzo wiem jak się do tego zabrać aby MSXML obsłużył mi te
> wszystkie elementy: pole1, pole2, pole3, pole(n)...
>
> XQuery? XPath?
XPath
> getElementsByTagName("pole//*") nie działa a coś w tym stylu (albo
> podając przykład z SQL: WHERE kol LIKE 'pole%') bym potrzebował.
No wlasnie - starts-with z XPath.
> PS. VBScript + MSXML.DOMDocument jest narzucone z góry..
Co do pierwszego sie nie wypowiadam. Co do drugiego: i bardzo dobrze. Ale
czy narzucona jest struktura pliku? Bo cos mi sie wydaje, ze w tym przypadku
trzymanie informacji o numerze w atrybucie uprosci zagadnienie (skomplikuje,
jezeli do dokumentu potrzebna bedzie schema).
Swoja droga: po jakie 5 zlotych nazywac wezly w _nic_nie_mowiacy_ sposob? A
jezeli juz to dlaczego Pole1 a nie P1?
-- --- -- --- -- ---
sz. & Draco - byrnenski pies pasterski
http://szomiz.republika.pl/dod/draco/
Re: wybieranie podobnych węzłów
Author: Paweł S. Piotrowski
Date: Fri, 29 Jun 2007 09:47
Date: Fri, 29 Jun 2007 09:47
58 lines
2734 bytes
2734 bytes
szomiz pisze:
> Użytkownik ""Paweł S. Piotrowski"" <psp@wytnij.o2.pl> napisał w wiadomości
> news:f62a9k$uu4$1@node4.news.atman.pl...
>
>> Set node = Root.getElementsByTagName("Dzial")
>> Lead = node.Item(0).text
>
> Zapomnij o getElementsByTagName.
Jakieś sugestie? Znalazłem w MSDN i działa, a u nich znaleść coś to dla
mnie za każdym razem istna katorga (wychowałem sie raczej na linuksowych
manualach, dokumentacji od Suna czy tej z php.net i pewnie dlatego tak
mi zawsze ciężko tam się poruszać ;))
>> Nie za bardzo wiem jak się do tego zabrać aby MSXML obsłużył mi te
>> wszystkie elementy: pole1, pole2, pole3, pole(n)...
>>
>> XQuery? XPath?
>
> XPath
>
>> getElementsByTagName("pole//*") nie działa a coś w tym stylu (albo
>> podając przykład z SQL: WHERE kol LIKE 'pole%') bym potrzebował.
>
> No wlasnie - starts-with z XPath.
czyli XPath + starts-with :)
>> PS. VBScript + MSXML.DOMDocument jest narzucone z góry..
>
> Co do pierwszego sie nie wypowiadam. Co do drugiego: i bardzo dobrze. Ale
> czy narzucona jest struktura pliku? Bo cos mi sie wydaje, ze w tym przypadku
> trzymanie informacji o numerze w atrybucie uprosci zagadnienie (skomplikuje,
> jezeli do dokumentu potrzebna bedzie schema).
Tak, narzucana i to odgórnie, międzydziałowo i na nic moje tłumaczenia
dla szefa "że to źle, evil i bez sensu" i że kombinacja alpejska dla
mnie z tym..
> Swoja droga: po jakie 5 zlotych nazywac wezly w _nic_nie_mowiacy_ sposob? A
> jezeli juz to dlaczego Pole1 a nie P1?
>
Nie pytaj, dostaje taki plik ze studia od grafików z indesignera i ich
to za przeproszeniem pier.. jak ja sobie z tym poradze.
Ehh :/
Dzięki za prezent w postaci podpowiedzi w imieniny :)
--
Pozdrawiam
Paweł S. Piotrowski
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