[xml] problem z wyciągnięciem danych z podwójnego atrybutu |
[xml] problem z wyciągnięciem danych z podwójnego atrybutu |
23.03.2012, 19:10:28
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 23.03.2012 Ostrzeżenie: (0%) |
Witam!
niestety nie mogę sobie poradzić z jedną rzeczą... chodzi o atrybuty w XML'u, przegrzebałem neta... ale wszędzie są tutoriale bazujące na prostym wyciąganiu atrybutów.. mam takiego xmla o strukturze: CODE <Transfer> <AdvData Action="A" ID="12334" InsDate="2012-03-19" ExpDate="2012-04-04"> <ContactData Firm="test" FirmID="11111" URL="www" categoryId="3000028,3000035" Description="aaaa" Contact="bbb" City="ccc"> <Email Data="ddd" /> <Phone Data="" /> <Fax Data="" /> </ContactData> </AdvData> </Transfer> Oczywiście wpisów jest więcej i teraz moje pytanie: Jak dobrać się do categoryID, ale w takiej postaci ala 'like' w SQLu: Select * form ... like '%3000028%' czyli zależy mi na wyszukaniu po konkretnym ID, nawet jeżeli w categoryId jest więcej danych po przecinku... czyli najchętniej myśląc SQLem zastosowanie categoryID="%300028%" ;-) Z wyciągnięciem danych gdy jest jedno categoryId sobie poradziłem: CODE
jednak kombinacje występują różne i zależałoby mi na wyszukiwaniu tylko konkretnego categoryID nawet gdy jest ich więcej przypisanych do danego categoryID. byłbym wdzięczny za pomoc! Ten post edytował caponne 23.03.2012, 23:27:32 |
|
|
31.03.2012, 19:48:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) |
Witaj.
Można użyć funkcji strpos. Wykorzystując Twój kod do utworzenia przykładu, wyglądałoby to tak:
Tak jak możesz przeczytać w dokumentacji, funkcja ta zwraca pozycję w tekście, gdzie szukany tekst się zaczyna. Funkcja może dać wynik równy 0(zero) co będzie oznaczało, że szukany kawałek znajduje się na początku tekstu. Łatwo pomylić taki wynik z wynikiem false, gdy szukanego tekstu nie uda się odnaleźć. Dlatego bardzo ważne jest aby przy porównaniach używać !== false lub === false. Możesz także o tym przeczytać na czerwonym polu w dokumentacji. Pozdrawiam. Ten post edytował tolomei 31.03.2012, 19:50:40 -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:04 |