Go to Home page
af
Funkcja AFnXml()                      
Alias: GETDATAXML()
Odpowiednik w Usługach Sieciowych AFin Web Services: GETXMLJSON
Podobna funkcja w Google Sheets: IMPORTXML()
UWAGA - W Excelu ("czystym", tj. bez dodatków) istnieje podobna funkcjonalność.
W wersji Excela 2013, została zaimlementowana funkcja WEBSERVICE(url) oraz związana z nią funkcja FILTERXML(xml, xpath). Funkcje działają, ale mają liczne ograniczenia. Patrz Pomoc Excela.
* Funkcje te muszą być stosowane łącznie, tj. np. w zagnieżdżeniu (=)FILTERXML(WEBSERVICE(url);xpath).
* Nie można pobierać danych z plików lokalnych, tj. plików XML z własnego dysku.
* Lista wartości zawiera zwykle skumulowane wartości węzłów nadrzędnych.
Funkcja (=)AFnXml(strUrl, strXPath, strParameters) powyższe braki eliminuje, dodając następujące funkcjonalności:
* Pobiera dane z plików lokalnych XML.
* Umożliwia filtrowanie obiektowe, tj. podając np. (ostatni w drzewie) węzeł XML-a jako argument XPath, funkcja zwraca dwuwymiarową tabelę(!) - nie listę wartości, podając przy okazji nagłówki(!) tej tabeli. Excelowa funkcja (=)FILTERXML() zwraca tylko wartości węzłów.
* Podanie dodatkowych parametrów w argumencie strParameters umożliwia np. zwrot wartości funkcji w różnych formatach, np. jako pojedynczą wartość, jako listę, jako tabelę lub jako (przefiltrowany obiektowo) ... XML(!), do dalszego filtrowania.
Wywołanie funkcji                        
(=)AFnXml(strUrl; strXPath; strParameters)
Uwaga: Funkcja może zwracać błędy, gdy jest uzyta jako filtr obiektowy, a występują braki wartości w węzłach podrzędnych.
Argumenty                          
strUrl (wymagany) - Określa źródło XML - może być podany jako:                
* URL - dla danych internetowych XML,
* Ścieżka do pliku - dla danych lokalnych XML,
* URL do usługi GETVALUE AFin Web Services - wtedy możliwy jest odczyt XML-a, będącego zmienną tablicową, wysłaną np. z innego komputera. Dowiedz się więcej o usłudze PUT-/GETVALUE w AFin Web Services.
strXPath (opcjonalny)                        
Ciąg znaków, będący poprawnym zapytaniem języka XPath - można stosować zarówno zapytania o wartość, o atrybut (lub ich listę). Najprostszym, a zarazem domyślnym zapytaniem XPath jest ciąg "//*", oznaczający wszystkie węzły XML-a.
strParameters                          
Ciąg znaków w notacji (Uwaga!) podobnej do notacji ciągu połączeniowego ODBC, tj. ciąg par atrybut=wartość, rodzielany separatorem ";", np. atr1=wart1;atr2=wart2, z podobnymi zasadami. Lista obsługiwanych parametrów może ulec zmianie.
out=val / out=v Pojedyncza wartość, niezależnie od rzeczywistej wartości funkcji (pierwsza wartość pierwszej kolumny). Nie zwraca nagłówka.
out=list / out=l Lista, tj. pierwsza kolumna wartości, niezależnie od rzeczywistej wartości funkcji. Nie zwraca nagłówka.
out=table / out=t Tabela, niezależnie od wymiarów rzeczywistej wartości funkcji (tj. czy tablica/lista/wartość). Zwraca nagłówek.
out=xml / out=x Zwraca poprawny ciąg XML, wynikający z filtra XML (jeśli jest). Funkcja wyświetla tylko 1000 pierwszych znaków XML-a.
xmlfile={XmlFilePath} Parametr działa tylko wtedy, gdy "out=xml". Pomimo, że funkcja wyświetla tylko1000 znaków, cały ciąg XML jest zapisywany do pliku we wskazanej lokalizacji. Plik wyjściowy nadaje się do odczytu kolejnymi funkcjami XML.
rpl1={ciąg "rpl1"} Zamiana znaków przed zbudowaniem dokumentu XML w kodzie funkcji. Patrz: lista parametrów ogólnych AF.
rpl2={ciąg "rpl2"} Zamiana znaków po odczycie wartości w kodzie funkcji. Patrz: lista parametrów ogólnych AF.