BmpPmB Napisano Czerwiec 15, 2017 Udostępnij Napisano Czerwiec 15, 2017 Witam wszystkich! Mam problem dotyczący zapisu danych na karcie SD. Próbuję utworzyć plik w formacie .xml. Ogólnie zapis plików tekstowych działa, pliki są tworzone na karcie, ale nie wiem w jaki sposób przerobić to na format .xml. Chciałbym wpisywać dane między znaczniki w ten sposób: <?xml version="1.0" encoding="ISO-8859-2" standalone="no" ?> <pomiary> <pomiar Data="2017-6-15" Godzina="12:26:21" Temp="24.00" Hum="62.00" /> <pomiar Data="2017-6-15" Godzina="12:27:21" Temp="24.00" Hum="64.00" /> <pomiar Data="2017-6-15" Godzina="12:28:21" Temp="25.00" Hum="68.00" /> <pomiar Data="2017-6-15" Godzina="12:29:21" Temp="24.00" Hum="61.00" /> </pomiary> I tutaj pojawia się problem, jak dopisywać dane w środku pliku? Używam standardowej biblioteki do kart SD na Arduino. Próbowałem kombinować tak, żeby w pewnym momencie wpisać znaczniki zamykające w pętli ale to nie zdaje egzaminu: String dataString2; dataString2 += String("<?xml version=\"1.0\" encoding=\"ISO-8859-2\" standalone=\"no\" ?>\r\n"); dataString2 += String("<pomiary>\r\n"); dataString2 += String("Temp=\""); dataString2 += String(t); dataString2 += String("\" "); dataString2 += String("Hum=\""); dataString2 += String(h); dataString2 += String("\" "); dataString2 += String("/>\r\n"); dataString2 += String("</pomiary> \r\n"); File dataFile2 = SD.open("data.xml", FILE_WRITE); if (dataFile2) { dataFile2.println(dataString2); dataFile2.close(); Serial.println("ok"); } Jednak wtedy zawsze dodawany jest nagłówek przy zapisie, a tak być nie może. Proszę o pomoc, na pewno ktoś zajmował się kiedyś takim kształtowaniem pliku .xml zawierającego dane pomiarowe. Z góry dziękuję za pomoc! Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Czerwiec 16, 2017 Udostępnij Czerwiec 16, 2017 BmpPmB, najprościej problem z nagłówkiem można obejść przez dodawanie go tylko, gdy plik jest pusty (lub dopiero tworzony). Wiadomo, że jeśli w pliku są już jakieś dane, to nie ma potrzeby, aby dodawać nagłówek, wystarczy dopisać kolejną linię danych. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!