Hjälp med att utläsa information ur en XML-fil

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Maj 2009

Hjälp med att utläsa information ur en XML-fil

Hej gott folk!

Vi har fått i uppgift att presentera viss information ur en XML-fil. XML-filen innehåller information från min kursledares GPS, så som hjärtrytm, hastighet, tid och datum för mätning osv.

Vi skall således skriva ett litet program som kan göra detta med hjälp av valfritt språk och presentera hjärtrytmen i en graf och den övriga informationen i text.

Fullständig information om uppgiften:
http://www.megaupload.com/?d=FHA6US4H

XML-filen:
http://www.megaupload.com/?d=WFXUZV0L

Hoppas att nån av er kan hjälpa mig med lite tips och/eller lösningar på detta problem då jag ärligt kan erkänna att varken mina programmeringskunskaper eller kunskaper om XML är särskilt bra. Kan även tillägga att flertalet timmar spenderade på google inte har varit till stor hjälp.

Vore ytterst tacksam för hjälp med detta

MvH
Micke G

Trädvy Permalänk
Medlem
Plats
Västerås
Registrerad
Jun 2005

Vi tar inte för vana att lösa folks skol/kurs uppgifter på detta forum då det skulle motverka sitt syfte i att du inte lär dig något av att det presenteras en lösning på silverfat åt dig.

Men jag skulle kunna rekommendera PHP då jag anser det är ett ganska bra ny börjar språk.

http://www.php.net

Lycka till.

Fractal Design Arc Svart | MSI Z68A-GD55 G3 REV B3 | Intel® Core i7 2600K, 3.4GHz, 8MB | Corsair 16GB (4x4096MB) CL9 1600Mhz VENGEANCE LP | MSI GeForce GTX 670 | Phanteks PH-TC14PE CPU Cooler (vit) | Corsair Power Supply 650W TX M, Modular, ATX, PS/2 | SSD (okänd tillverkare) + 2 äldre SATA2 diskar på 750 Gb, 350 gb. | OS: Microsoft Windows 10 home.

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

Ja du får ju lösa uppgiften själv.
Men till att börja med: vilka program har ni tillgång till på skoldatorerna?
Möjligheterna är många, så utgå från dina förutsättningar och krångla inte till det.

Har ni visual studio, kör C# eller VB. Har ni unix har ni antagligen php. Men som sagt, beror ju på vad du har.

Crap.

Trädvy Permalänk
Medlem
Plats
Tokyo
Registrerad
Nov 2002

C#/VB.NET med LINQ to XML. Jag tror inte XML-manipuleringen i PHP är lika smidig, men motbevisa mig gärna.

www.uu.se - some kind of university | www.hirr.org.uk - ain't no mountain high enough | www.bajenfans.se

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Maj 2009

Nej självklart så vill jag ju lära mig hur det funkar, jag förväntar mig ingen klar lösning såklart. Det jag är ute efter är mer en hjälp i rätt riktning så jag vet vart vi ska börja.

Vi har tillgång till Visual Studio 2005 och 2008, även Eclipse.

Det språk vi använt oss mest utav är Java med Swing biblioteket och SWT, men har även använt lite C#. PHP har vi verkligen inte mycket erfarenhet utav.

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

Har du tillgång till C# och visual studio rekommenderar jag det. Det är enkel syntax och det finns rikligt med exempel.

Där finns namespace System.XML som låter dig jobba med xml-filer. Där har du bl.a. klassen XmlDocument, som när du skapat ett objekt av kan anropa metoden Load() för att ladda XML-filen. Men det är bara en approach. En annan variant är XmlTextReader-klassen.

När du väl har ett projekt att jobba i i Visual Studio så är Intellisense din vän i natten. Då kan du snabbt få en blick över olika användbara metoder, men det förutsätter att du har en aning om vart du vill komma.

Crap.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2002

Om ni vill köra Java rekommenderar jag libbet JDOM http://www.jdom.org/ då det är det bästa jag har använt.

Om man tänker en tanke, så är den tanken inte den tanke man tror att man tänker. Utan det är den tanke som får en att tro att man tror den tanke man tror att man tänker.

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Maj 2009

Jag tackar så hjärtligt för tipsen ni har gett, det lutar åt att vi försöker oss på C# då det verkade vara ett smidigt sätt att lösa uppgiften på

Trädvy Permalänk
Medlem
Registrerad
Okt 2003
Citat:

Ursprungligen inskrivet av Prizephitah
Om ni vill köra Java rekommenderar jag libbet JDOM http://www.jdom.org/ då det är det bästa jag har använt.

Då passar jag på att rekommendera dom4j också. Personligen tycker jag den är trevligare än JDOM. De har också en bra quickstart med flera exempel på hur man löser de vanligaste situationerna på bästa sätt.

//C

Trädvy Permalänk
Medlem
Plats
Karlstad
Registrerad
Maj 2009

Nu har vi fått lite handledning utav vår handledare och han påstår att man inte behöver någon parser utan att man kan läsa in XMl-filen som en textfil och söka igenom denna efter de taggar vi är ute efter att plocka information ur och sedan spara undan informationen som en ny sträng i ett objekt. Detta rekommenderade han att vi gör i Java.

Detta verkar ju också vara ett rätt vettigt tillvägagångssätt, så vi tänkte testa det nu, vi får se hur det går ^^

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Maj 2007

Det låter omständigt tycker jag! Det är så pass enkelt att använda en SAX-parser för att läsa information, titta på mitt lilla exempel nedan. Det är mycket omständigare att skriva en egen parser som plockar ut vissa texter ur en jätte-sträng.

import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Node; import org.dom4j.io.SAXReader; public class ReadXml { private Document doc; public static void main(String[] args) { ReadXml xml = new ReadXml("G2.TCX"); List<Node> list = xml.readAllDistanceMeters(); for (Node n : list) System.out.println(n.getText()); } public ReadXml(String file) { this.doc = new SAXReader().read(file); } public List readAllDistanceMeters() { return this.doc.selectNodes("//Activities/Activity/Lap/DistanceMeters"); } }

Nu vet jag inte ens om koden fungerar, jag har inte testat alls, men tillvägagångssättet är något liknande. Min kod ska alltså plocka ut alla noder för DistanceMeters och skriver ut i terminalen.

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2005
Citat:

Ursprungligen inskrivet av miiickeg
Nu har vi fått lite handledning utav vår handledare och han påstår att man inte behöver någon parser utan att man kan läsa in XMl-filen som en textfil och söka igenom denna efter de taggar vi är ute efter att plocka information ur och sedan spara undan informationen som en ny sträng i ett objekt. Detta rekommenderade han att vi gör i Java.

Detta verkar ju också vara ett rätt vettigt tillvägagångssätt, så vi tänkte testa det nu, vi får se hur det går ^^

Då försvinner själva idén och tjusningen med XML. Lite som att köpa en bil och dra den framåt med hjälp av hästar.

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

Det beror ju lite på vad uppgiftens syfte är. Om övningen är att parsa text finns det ju en klar poäng att inte låta ett klassbibiliotek göra jobbet.

Så, vad är syftet med övningen? Vad förväntas ni lära er av den?

Crap.

Trädvy Permalänk
Medlem
Plats
Knivsta
Registrerad
Nov 2002
Citat:

Ursprungligen inskrivet av bobamatics
Jag tror inte XML-manipuleringen i PHP är lika smidig, men motbevisa mig gärna.

XML-manipulering i php är inte svårt, om man använder SimpleXML.
Hur enkelt som helst.

Webb -och apputvecklare på Greater Than AB
Min hemsida | Frilansutvecklaren | LinkedIn profil.
Hemdator: Thinkpad T410S | Jobbdator: Microsoft Surface Pro 4 | Mobil: Samsung S7 Edge.