🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

3 total messages Started by Paweł S. Piotrowski Fri, 29 Jun 2007 06:53
wybieranie podobnych węzłów
#9355
Author: Paweł S. Piotrowski
Date: Fri, 29 Jun 2007 06:53
45 lines
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
#9356
Author: szomiz
Date: Fri, 29 Jun 2007 09:05
33 lines
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
#9357
Author: Paweł S. Piotrowski
Date: Fri, 29 Jun 2007 09:47
58 lines
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