Förklaring av XML?

AleX

Siktar högt, kommer lågt
Gick med
6 Mar 2003
Ort
Flyinge
Hoj
CBR929CBR600R6
Behöver få lite grundläggande kunskap om xml.

om jag har en xml fil som innehåller följade sträng
<symbol number="2" name="Fair" var="02d" />

hur måste/kan jag då få ut 2an så ett annan program fattar att det är en 2a
Programmet stödjer xml tag och xpath
 
Vad använder du för program? Kodar du?

2:an ligger i ett så kallat element i en node.

Det du behöver göra är att söka ut noden "symbol" och i det objektet söka ut elementet "number".
 
02d?
Ser udda ut.

Men om du inte kan något om programmering kan det genast vara lite knöligt. (XML är en plåga för övrigt.)
Varför vill du läsa XMLen?
 
Vad är det du vill åstadkomma, vars ska informationen hamna i slutändan? Kan det kanske vara enklare att be någon skriva ihop en liten wrapper i tex C# som hanterar datat och levererar just bara det du vill ha?

Jag håller med Ulvhamne här, XML är ett otyg, JSon är mycket smidigare att jobba med! :fakta
 
Prgrammet( bild) behöver bara få infon om var den ska hämta sen klarar jag resten.

Dvs det jag vill är att hämta siffran 2 (som kommer ändras hela tiden, dvs symbolnr 2....)
 
tänker mig att den ska få infon
Hämta symbol nr X

:rolleyes:
 
i slutändan vill jag få ut info om hur många mm regn det ska komma på en dag i flyinge:banana
 
Problemet med att bara läsa symbolen på en viss position är att XML kan vara utformat lite hur som helst, så du behöver någon form av XMLtolk, sedan tycker jag att 02d ser ut att vara en kodad siffra. Vet du vad d står för?
 
Problemet med att bara läsa symbolen på en viss position är att XML kan vara utformat lite hur som helst, så du behöver någon form av XMLtolk, sedan tycker jag att 02d ser ut att vara en kodad siffra. Vet du vad d står för?
02d är väl hexadecimalt, dvs 45 decimalt, vilket troligen är 4,5mm nederbörd. I många fall använder man ju heltal istället för flyttal, men det är på förhand bestämt att man alltid har x antal decimaler. Då slipper man ju det där med punkt/komma och man kan ha mindre datatyper. Vilket ju är skit samma i XML, men kanske inte i underliggande system.
 
02d är väl hexadecimalt, dvs 45 decimalt, vilket troligen är 4,5mm nederbörd. I många fall använder man ju heltal istället för flyttal, men det är på förhand bestämt att man alltid har x antal decimaler. Då slipper man ju det där med punkt/komma och man kan ha mindre datatyper. Vilket ju är skit samma i XML, men kanske inte i underliggande system.
Jo, jag misstänker det. Därför jag undrade över varför han ville ha just 2an. Sedan är det lite fult att ha 02d, i många system är det oktalt som börjar med en nolla. Irriterande nog. d är ju däremot ganska troligt hexvärde. :D
 
Jo, jag misstänker det. Därför jag undrade över varför han ville ha just 2an. Sedan är det lite fult att ha 02d, i många system är det oktalt som börjar med en nolla. Irriterande nog. d är ju däremot ganska troligt hexvärde. :D
Det är ju så standarder funkar i datorsvängen, alla gör sin egen :hihi

Men det är ju fullt möjligt att det är oktalt, och att d står för decimaltal :huvet
 
verkar som jag är "lite" oklar...

Jag vill bara få ut den fetmarkerade 2an hur ska jag då göra med xml-tag / xpath?
Programmet ser ut som bilden ovan så jag ska bara säg hur den hittar 2an

<?xml version="1.0" encoding="utf-8" ?>
- <weatherdata>
- <location>
<name>Flyinge</name>
<type>Populated place</type>
<country>Sweden</country>
<timezone id="Europe/Stockholm" utcoffsetMinutes="60" />
<location altitude="15" latitude="55.75" longitude="13.35" geobase="geonames" geobaseid="2714208" />
</location>
- <credit>
- <!--
In order to use the free weather data from yr no, you HAVE to display
the following text clearly visible on your web page. The text should be a
link to the specified URL.

-->
- <!-- Please read more about our conditions and guidelines at http://www.yr.no/verdata/
-->
<link text="Weather forecast from yr.no, delivered by the Norwegian Meteorological Institute and the NRK" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/" />
</credit>
- <links>
<link id="xmlSource" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/forecast.xml" />
<link id="xmlSourceHourByHour" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/forecast_hour_by_hour.xml" />
<link id="overview" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/" />
<link id="hourByHour" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/hour_by_hour" />
<link id="longTermForecast" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/long" />
<link id="radar" url="http://www.yr.no/place/Sweden/Scania/Flyinge~2714208/radar.html" />
</links>
- <meta>
<lastupdate>2012-02-26T04:26:22</lastupdate>
<nextupdate>2012-02-26T17:00:00</nextupdate>
</meta>
<sun rise="2012-02-26T07:06:48" set="2012-02-26T17:33:20" />
- <forecast>
- <tabular>
- <time from="2012-02-26T12:00:00" to="2012-02-26T18:00:00" period="2">
- <!-- Valid from 2012-02-26T12:00:00 to 2012-02-26T18:00:00
-->
<symbol number="1" name="Fair" var="01d" />
<precipitation value="0" />
- <!-- Valid at 2012-02-26T12:00:00
-->
<windDirection deg="327.3" code="NNW" name="North-northwest" />
<windSpeed mps="5.3" name="Gentle breeze" />
<temperature unit="celsius" value="3" />
<pressure unit="hPa" value="1019.8" />
</time>
- <time from="2012-02-26T18:00:00" to="2012-02-27T00:00:00" period="3">
- <!-- Valid from 2012-02-26T18:00:00 to 2012-02-27T00:00:00
-->
<symbol number="1" name="Fair" var="mf/01n.13" />
<precipitation value="0" />
- <!-- Valid at 2012-02-26T18:00:00
-->
<windDirection deg="323.6" code="NW" name="Northwest" />
<windSpeed mps="4.5" name="Gentle breeze" />
<temperature unit="celsius" value="0" />
<pressure unit="hPa" value="1022.1" />
</time>
 
Inte för jag vet hur de där programmet funkar, men under taggnamn fyller du i "symbol" och sedan borde det finnas något fält för attribut i guit med, där fyller du i number=1 eller något sånt så borde det antagligen hitta rätt.

Men jag ser definitivt ingen 2:a i det du fetstilat.

Och hur man tolkar XMLen beror mycket på strukturen i den, och jag har inte tagit mig tid att analysera den för att vara helt hundra på hur den ska läsas.
 
Last edited:
Är programmet enda vägen du tänkt plocka ut data ur XML, så är det förstås ganska begränsat med möjligheter. I fältet "Tagg-namn, värde" får du väl fylla i och se om det fungerar. T.ex. "symbol number" eller "symbol, number"... beror ju på vad för syntax man vill ha - finns det ingen hjälptext att läsa kring det?

Annars är det bara att skriva en egen parser eller ett bra reguljärt uttryck som kan fånga upp rätt sträng. Enkelt gjort i både Powershell för Windows eller med grep etc i Linux.
 
Det är ett väldigt "enkelt" användande av programmet som efterfrågas.
Nu har jag iallafall fått fram att detta funkar att skriva
/weatherdata/forecast/tabular/time[1]/symbol/@number

kan nu någon förklara vad som står i den raden?
 
Det är ett väldigt "enkelt" användande av programmet som efterfrågas.
Nu har jag iallafall fått fram att detta funkar att skriva
/weatherdata/forecast/tabular/time[1]/symbol/@number

kan nu någon förklara vad som står i den raden?

Hämta värdet på attributet number på den angivna adressen [1] specifierar att det det skall vara den första time noden.
F.ö. så har xpath funktionen substring som du kanske vill titta närmare på.

Kan titta närmare på problemet i morgon när jag har tillgång till lite utvecklingsverktyg om det inte löst sig tills dess.
 
Nyheter
Bridgestone dominerade i Suzuka 8 Hours

Pressrelease från Bridgesto...

Publikrekord under World Ducati Week

Ducati slog publikrekord un...

Brembo inför nya Hyction‑bromsskivor i WorldSBK 2027

Brembos nya carboceramiska ...

Ducati lanserar Desmo450 EDS

Ducati lanserar Desmo450 ED...

Custom Bike Show 2026

I år var det 52a gången Cus...

Gotland Ring Bike Week ´26 går mot deltagarrekord!

Med en månad kvar är det gl...

Från familjeföretag till modern motorhub – Ljunggrens Motor växlar upp

I motorvärlden finns det ha...

Inga mirakelbatterier ändå?

Rabalder kring Verge: Har s...

Custom Bike Show på lördag!

På Sveriges nationaldag, nu...

Bilder från DGR 2026

Den 17 maj kördes The Disti...

Back
Top