Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję
Drukarki XYZprinting!

Zapis na SD pliku XML

Autor Wiadomość
BmpPmB 



Posty: 4
Wysłany: 15-06-2017, 13:07   Zapis na SD pliku XML

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:
Kod programu: Zaznacz cały
<?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:
Kod programu: Zaznacz cały

  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!
Polecany artykuł z FORBOT.PL:
Odlewanie opon z silikonu

Opony jakie robiłem kilka razy do linefollowera wykonane były z silikonu oryginalnie używanego do tworzenia fo... Czytaj całość

Ostatnio popularny » Jetson TK1 okiem robotyka - #4 - Przykładowa aplikacja


Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 7545
Pomógł: 114 razy
Otrzymał 491 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 16-06-2017, 12:10   

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.


Zachęcam do korzystania z forum - nie pomagam indywidualnie przez PW/maila.
Sprawdź » Kurs ARDUINOKurs podstaw elektronikiKurs STM32
Postaw piwo autorowi tego posta
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: Arduino, problem z o... Arduino Mega pliki d... Przysyłanie/Odbieran... Arduino i programowa...
lub przeszukaj forum po wybranych tagach: na, pliku, sd, xml, zapis


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki