Hallo,
ich habe mir XML etwas näher angesehen und erste "Leseversuche" in der XML vom Windows-Leistungsindex gemacht.
Als Beispiel habe ich mir den microsoft-Artikel hier angeschaut: msdn.microsoft.com/de-de/library/bb979298.aspx
Den Leistungsindex habe ich auslesen können.
Nun wollte ich auch den "Random read " Wert auslesen.
Der steht in einem Array und meine Suchroutine läuft leider nach ien paar Ergebnissen in eine Exception.
Da die Feldlänge nicht von mir begenzt ist, verstehe ich nicht, warum das passiert.
Eine gute Seite, die auch solche Dinge gut erklärt, würde mir auch gut helfen.
Damit
man es leichter nachstellen kann, poste ich den ganzen code - der obere
teil sucht einfach nach dem aktuellsten xml vom disk-test.
So sieht die XML an dem Teil aus, den ich auslesen will:
Gruß
Schorsch
ich habe mir XML etwas näher angesehen und erste "Leseversuche" in der XML vom Windows-Leistungsindex gemacht.
Als Beispiel habe ich mir den microsoft-Artikel hier angeschaut: msdn.microsoft.com/de-de/library/bb979298.aspx
Den Leistungsindex habe ich auslesen können.
Nun wollte ich auch den "Random read " Wert auslesen.
Der steht in einem Array und meine Suchroutine läuft leider nach ien paar Ergebnissen in eine Exception.
Da die Feldlänge nicht von mir begenzt ist, verstehe ich nicht, warum das passiert.
Eine gute Seite, die auch solche Dinge gut erklärt, würde mir auch gut helfen.
Damit
man es leichter nachstellen kann, poste ich den ganzen code - der obere
teil sucht einfach nach dem aktuellsten xml vom disk-test.
VB.NET-Quellcode
- Dim SsdDetectedFlagG As Boolean = False
- Dim DiskScorenodeFound As Boolean = False
- Dim DiskScoreString As String = "0.0"
- Dim LastAccessPath As String = ""
- ' - element diskscore und dann text
- If System.IO.Directory.Exists("C:\Windows\Performance\WinSAT\DataStore") Then
- ' Our method to get the most recently updated score.
- ' Because the program makes a new XML file on every update of the score,
- ' we need to calculate the most recent, just incase the owner has upgraded.
- Dim Dir As New IO.DirectoryInfo("C:\Windows\Performance\WinSAT\DataStore")
- Dim fileDir() As IO.FileInfo
- Dim fileMostRecent As IO.FileInfo
- Dim LastAccessTime As Date
- fileDir = Dir.GetFiles
- ' Loop through the files in the \WinSAT dir to find the newest one.
- For Each fileMostRecent In fileDir
- If fileMostRecent.LastAccessTime >= LastAccessTime Then
- If fileMostRecent.FullName.ToLower Like "*disk*" Then
- ' MsgBox("recent diskfile" & fileMostRecent.FullName, MsgBoxStyle.SystemModal)
- LastAccessTime = fileMostRecent.LastAccessTime
- LastAccessPath = fileMostRecent.FullName
- End If
- End If
- Next
- ' MsgBox("no match bliart" & LastAccessTime, MsgBoxStyle.SystemModal)
- Else
- SsdDetectedFlagG = False
- Exit Sub
- End If
- ' Wir benötigen einen XmlReader für das Auslesen der XML-Datei
- Dim XMLReader As Xml.XmlReader _
- = New Xml.XmlTextReader(LastAccessPath) ' ("2013-11-15
- 23.07.43.454 Disk.Assessment (Recent).WinSAT.xml") '("quickie.xml")
- ' Es folgt das Auslesen der XML-Datei
- With XMLReader
- Do While .Read ' Es sind noch Daten vorhanden
- ' Welche Art von Daten liegt an?
- Select Case .NodeType
- ' Ein Element
- Case Xml.XmlNodeType.Element
- If .Name.ToString.ToLower = "diskmetrics" Then '"diskscore" Then
- DiskScorenodeFound = True
- MsgBox("found")
- Else
- ' MsgBox("no")
- End If
- ' MsgBox("Es folgt ein Element vom Typ " & .Name)
- ' Alle Attribute (Name-Wert-Paare) abarbeiten
- If .AttributeCount > 0 Then
- ' Es sind noch weitere Attribute vorhanden
- While .MoveToNextAttribute ' nächstes
- MsgBox("Feldname: " & .Name & _
- " -> " & _
- "Feldwert: " & .Value)
- End While
- End If
- ' Ein Text
- Case Xml.XmlNodeType.Text
- If DiskScorenodeFound = True Then
- 'MsgBox("Es folgt ein Text: " & .Value)
- DiskScoreString = .Value
- Exit Do
- End If
- ' Ein Kommentar
- 'Case Xml.XmlNodeType.Comment
- ' MsgBox("Es folgt ein Kommentar: " & .Value)
- End Select
- Loop ' Weiter nach Daten schauen
- .Close() ' XMLTextReader schließen
- End With
So sieht die XML an dem Teil aus, den ich auslesen will:
Gruß
Schorsch
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Schalterschorsch“ ()