Rozważam zapisywanie ustawień mojej aplikacji jako xml zamiast używania rejestru, ale mam problem ze zrozumieniem i używaniem OmniXML.Jak używać OmniXML do zapisywania ustawień aplikacji w pliku xml
Wiem, że niektórzy z was tutaj używają i polecają OnmiXML, więc mam nadzieję, że ktoś może dać mi wskazówki.
Używam TRegistry do tworzenia nowego klucza, jeśli nie istnieje, ale nie mogę znaleźć podobnej opcji w OmniXML.
Zasadniczo co chcę zrobić, to zapisać ustawienia na różnych poziomach XML, coś takiego:
<ProgramName version="6">
<profiles>
<profile name="Default">
<Item ID="aa" Selected="0" />
<Item ID="bb" Selected="1" />
</profile>
</profiles>
<settings>
<CheckForUpdates>1</CheckForUpdates>
<CheckForUpdatesInterval>1</CheckForUpdatesInterval>
<ShowSplashScreen></ShowSplashScreen>
</settings>
</ProgramName>
Teraz, podczas pierwszego uruchomienia programu nie będę mieć plik xml więc będę musiał tworzyć wszystko pod-poziomy. Dzięki TRegistry było to łatwe, wystarczy wywołać OpenKey (pathtokey, True), a klucz zostanie utworzony, jeśli nie istnieje. Czy istnieje jakiś porównywalny sposób na to samo, co w OmniXML? cos takiego jak:
SetNodeStr('./settings/CheckForUpdates', True);
Które stworzenie „ścieżki”, jeśli jeszcze nie istnieje.
(Primoz tutaj) Tylko po to, aby zapobiec nieporozumieniom - OmniXML został napisany przez Miha Remec, właśnie dodałem kilka małych części. I +1 za odpowiedź - dokładnie to, co bym napisał. – gabr
Dzięki Paolorossi za odpowiedź i kod. Niestety muszę również programowo odczytać/zapisać setki wartości, więc dla tej części naprawdę muszę ręcznie utworzyć/odczytać/usunąć dane. Ktoś wie, czy możliwe jest automatyczne tworzenie węzłów wcześniejszych, jeśli jeszcze nie istnieją? I na koniec wielkie podziękowania dla Miha Remec i Primoz Gabrijelcic dla odpowiednio OnmiXML i GpFluentXML. – smartins