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


Xpath ... ?

Postades av 2007-12-31 13:30:08 - Magnus Karlsson, i forum asp.net generellt, Tråden har 11 Kommentarer och lästs av 826 personer

Tanken med XPath:en i nedan exempel är att alla böcker som har ett pris över 35 skall listas. Men jag får bara fram alla böcker i XML-filen. Vad är galet?

(XML-fil och Xpath-frågan kommer ifrån http://www.w3schools.com/xpath/xpath_syntax.asp )


<code>
Dim objDoc As New XPathDocument("c:\book.xml")

Dim objNav As XPathNavigator = objDoc.CreateNavigator

Dim objIterator As XPathNodeIterator = objNav.Select("/bookstore/book[price>35.00]")

Dim olle As String
olle = objIterator.Current.Value
</code>

<code>

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>

</code>


Svara

Sv: Xpath ... ?

Postades av 2007-12-31 14:14:55 - Magnus Karlsson

Sedan när selecteringen fungerar kommer problemet .. Hur skall jag få tag på title och price var och för sig och inte i en sträng?


Svara

Sv:Xpath ... ?

Postades av 2007-12-31 18:34:56 - Per Persson

Tycker det borde vara genom <b>objIterator.Current.Select("title")</b> resp <b>objIterator.Current.Select("price")</b>


Svara

Sv: Xpath ... ?

Postades av 2007-12-31 18:35:44 - Per Persson

Tycker det borde vara genom <b>objIterator.Current.Select("title").Value</b> resp <b>objIterator.Current.Select("price").Value</b>


Svara

Sv: Xpath ... ?

Postades av 2008-01-01 11:56:45 - Simon Dahlbacka

saknar inte frågan ett @ tecken?

alltså, borde den inte vara på följande sätt

/bookstore/book[@price>35.00]


Svara

Sv:Xpath ... ?

Postades av 2008-01-01 12:31:50 - Per Persson

Nej, @ används vid attribut och price är inte ett attribut utan ett vanligt element. Hade XML:en lydit <book price="40"> skulle man ha använt @.


Svara

Sv: Xpath ... ?

Postades av 2008-01-01 21:59:01 - Simon Dahlbacka

Per har rätt.. jag läste för slarvigt, glöm mitt inlägg...


Svara

Sv:Xpath ... ?

Postades av 2008-01-02 09:13:33 - Magnus Karlsson


1. objIterator.Current.Select("price").Value ....funkar inte

2. Går det att få Xpath att sortera datat stigande eller fallande ? Om det går hur gör man?


Svara

Sv: Xpath ... ?

Postades av 2008-01-02 09:35:57 - David Tellander

XPathNodeIterator objektet du får från select-metoden är inte positionerat på första noden i urvalet förrän du anropat objIterator.MoveNext().

Från början pekar den på noden på vilken select anropades, i det här fallet dokumentnoden.

MoveNext returnerar en bool, så det är smidigast att lägga det som test i en while-loop.

Att sedan hämta värdena hos child-elementen gör du enklast med SelectSingleNode.

while ( objIterator.MoveNext() ) 
{
    string title = objIterator.Current.SelectSingleNode( "title" ).Value;
    string price = objIterator.Current.SelectSingleNode( "price" ).Value;

    // Gör något intressant...
}


Svara

Sv:Xpath ... ?

Postades av 2008-01-02 10:45:27 - Magnus Karlsson


När jag nu läser av min XML poster så skulle det vara kul att kunna styra stigande/fallande för en kollumn. Är det möjligt. Om möjligt hur?

Min labb kod.
<code>
Dim nodName As String
Dim nodValue As String
Dim nodNr, antalrows, antalcols As Integer
Dim Radtowrite As String

Dim xPath As String = "/MyData/MyPos[C5='2630']"

Dim document As XPathDocument = New XPathDocument(xmlFile)
Dim navigator As XPathNavigator = document.CreateNavigator()

Dim nodes As XPathNodeIterator = navigator.Select(xPath)


antalrows = nodes.Count

While nodes.MoveNext()

Dim nodesNavigator As XPathNavigator = nodes.Current
Dim nodesText As XPathNodeIterator = nodesNavigator.SelectDescendants(XPathNodeType.Element, False)

antalcols = nodesText.Count

Radtowrite = ""

While nodesText.MoveNext()
nodNr = nodesText.CurrentPosition
nodName = nodesText.Current.Name
nodValue = nodesText.Current.Value
Radtowrite += " " & nodValue
End While

Label1.Text += Radtowrite & "<br><br>"


End While
</code>


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 170
27 953
271 705
646
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