Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Specifik information ur xml-fil

Postades av 2005-08-15 16:48:09 - Petter Andersson, i forum vb.net, Tråden har 7 Kommentarer och lästs av 720 personer

Jag har försökt hitta något om hur man får ut information ur en xml-fil där tex.
datumet i noden är det samma som man har valt i en monthcalendar.
Sen ska självklart resten av informationen också komma med.

Xml-filen ser ut ungefär såhär:
<attgoralista>
<attgora>
<datum>2005-08-15</datum>
<ToDo>handla</ToDo>
<attgora>
</attgoralista>

Det jag tänkte var alltså om man väljer den 15 augusti i monthcalendar så ska handla komma upp i en label bredvid.

Det känns som det inte borde vara så svårt men jag tänker nog i helt fel banor.

//Petter


Svara

Sv: Specifik information ur xml-fil

Postades av 2005-08-15 17:08:40 - Joakim Åhl

du får använda dig av Xpath

här är ett exampel som jag har tyvär i C# men borde inte skilja mycket


xpath_filter = "/*/sa[@id='agv 35']";
System.Xml.XmlDocument document = new System.Xml.XmlDataDocument();
document.Load(@"C:\Documents and Settings\ehel\Mina dokument\Visual Studio Projects\agv\fake.xml");
System.Xml.XmlNode node = document.DocumentElement;

node.SelectSingleNode(xpath_filter) 'detta retunerar en XML node men det som finns in den


Ett tips på ett bra program för att få rätt Xpath är Stylus Studio som ger dig Xpath


Svara

Sv:Specifik information ur xml-fil

Postades av 2005-08-15 19:24:20 - Petter Andersson

Jag vet inte riktigt hur jag skulle göra.
Jag skrev så här:
<code>
Dim xpath_filter = "laxor[*/laxa/todate=" & mCalendar.SelectionStart & "]"
</code>

men jag vet inte om det är rätt.
För att skriva ut informationen göra sen såhär:
<code>
Dim root As XmlElement = xmldoc.DocumentElement
Dim toDate As XmlNodeList = root.SelectNodes("laxor[*/laxa/todate=" & mCalendar.SelectionStart & "]")
Dim amne As XmlNodeList = root.GetElementsByTagName("Amne")
Dim ToDo As XmlNodeList = root.GetElementsByTagName("ToDo")

For i = 0 To toDate.Count - 1

Label1.Text = toDate(i).InnerXml
Label2.Text = ToDo(i).InnerXml & " i " & amne(i).InnerXml

Next
</code>

Det finns säkert något som man inte ska göra.

//Petter


Svara

Sv: Specifik information ur xml-fil

Postades av 2005-08-15 23:25:36 - Joakim Åhl

prova att sätta ett ide på din datum så kan du lättare komma åt det tex.

<?xml version="1.0"?>
<attgoralista>
<attgora>
<datum date="2005-08-15">
<ToDo>handla</ToDo>
</datum>
</attgora>
</attgoralista>

Xpath blir "/attgoralista/attgora/datum[@date="2005-08-15"]"
Vilket ger dig
<datum date="2005-08-15">
<ToDo>handla</ToDo>
</datum>


Svara

Sv:Specifik information ur xml-fil

Postades av 2005-08-16 09:49:33 - Petter Andersson

Jag vet inte riktigt hur jag ska sätta det eftersom jag lägger till data i programmet.

            xmlNode = xmlDoc.CreateElement("laxa")
            xmltoDateNode = xmlDoc.CreateElement("toDate")
            xmltoDateNode.InnerText = Label1.Text 'Det här lägger till datumet mellan todate taggarna
            xmlamneNode = xmlDoc.CreateElement("Amne")
            xmlamneNode.InnerText = ComboBox1.Text
            xmlTodoNode = xmlDoc.CreateElement("ToDo")
            xmlTodoNode.InnerText = TextBox1.Text


Den här koden fungerar så som jag gjorde förut. Men hur ska jag göra för att sätta ett id?

//Petter


Svara

Sv: Specifik information ur xml-fil

Postades av 2005-08-16 15:59:49 - Mattias Swenson

Det du vill lägga till i ditt datumelement är ett attribut. Det gör du med hjälp av funktionen som heter CreateAttribute eller ngt sånt. Genom att lägga till ett attribut inuti ditt datumelement kan du med XPath välja ut alla datumelement med date=xxxx-xx-xx uppfyllt

Har ingen färdig kod här nu men du reder nog ut det...


Svara

Sv:Specifik information ur xml-fil

Postades av 2005-08-16 17:09:54 - Petter Andersson

Jag vet inte hur jag ska göra... Jag fick den att lägga till attributet i det första elementet men sen för att få in det i datumelementet klarade jag inte.
Om du möjligtvis skulle ha ett kodexempel eller en liten förklaring på hur man gör skulle jag bli jätte glad!!

//Petter


Svara

Sv: Specifik information ur xml-fil

Postades av 2005-08-17 16:57:52 - Petter Andersson

Jag har fixat det själv nu.
Jag gjorde om xmltodatenode till ett xmlelement istället för en xmlnode.
Då kunde jag sätta ett attribut på det rätta elementet.

Men nu får jag inte till det när jag ska läsa från xml-filen.
Hur är det jag ska göra när jag satt xpath till det värde jag vill ha.
Jag gjorde såhär för att testa lite

        Dim i As Integer
        Dim xpathfilter = "/laxor/laxa/toDate[@date=" & mCalendar.SelectionStart & "]"
        Dim xtr As New XmlTextReader("..\laxor.xml")
        xtr.WhitespaceHandling = WhitespaceHandling.None
        Dim xmldoc As New XmlDocument

        xmldoc.Load(xtr)
        xtr.Close()

        Dim root As XmlElement = xmldoc.DocumentElement
        Dim toDate As XmlElement = root.SelectSingleNode(xpathfilter)
        Dim amne As XmlNodeList = root.GetElementsByTagName("Amne")
        Dim ToDo As XmlNodeList = root.GetElementsByTagName("ToDo")

        Label1.Text = toDate.InnerXml


Det fungerar inte som du kanske förstår.

//Petter


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 724
27 958
271 751
301
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies