Ist doch egal was das für eine Seite ist oder?
Was hat das eig. damit zu tun?
Die Hauptsache ist doch, das es eine XML ist..
FileWrite bzw. Open
-
- [ gelöst ]
-
ProblemUser -
4. Juni 2010 um 01:26 -
Geschlossen -
Erledigt
-
-
Hallo ProblemUser,
da ich in dem Thread bisher auch die ausgebene XML nicht finden konnte und bisher von Geo-Caching ausging, wobei ich dir ja gerne geholfen hätte, bleibt mir nur noch der Hinweis auf die Hilfe dort solltest du dir ganz besonders alle Funktionen in "Zeichenketten, Strings Funktion Referenz" und "String Benutzerdefinierte Funktion Referenz" durchlesen. Die richtigen Funktionen, die du benötigst sind dort mit sicherheit enthalten,
mfg (Auto)Bert
-
Hier ist die XML was die das bringen soll verstehe ich icht da eine XML meißtens gleich istaber ok..
XML<?xml version="1.0"?> <Ausgabe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Latitude>0.00000</Latitude><Longitude>0.00000</Longitude></Ausgabe>
In der Hilfe habe ich schon geschaut, jedoch habe ich keine passende Lösung gefunden darum habe ich den Thread eröffnet. -
Hallo ProblemUser,
hier mein Skriptvorschlag:
Spoiler anzeigen
[autoit]#Include <String.au3>
[/autoit] [autoit][/autoit] [autoit]
#Include <File.au3>
;#Include <Array.au3>;Local $sData = InetRead($url)
[/autoit] [autoit][/autoit] [autoit]
;Local $nBytesRead = @extended
Local $sFileName = "start.html"$sData = '<?xml version="1.0"?>'&@CRLF
[/autoit] [autoit][/autoit] [autoit]
$sData &= '<Ausgabe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Latitude>0.00000</Latitude><Longitude>0.00000</Longitude></Ausgabe>'
$xmllon = _stringbetween($sData, "<Longitude>","</Longitude>")
if IsArray($xmllon) Then
$xmllon = $xmllon[0]
Else
MsgBox(0,"Fehler","Longitude nicht in XML gefunden!")
EndIf
$xmllat = _stringbetween($sData, "<Latitude>", "</Latitude>")
if IsArray($xmllat) Then
$xmllat = $xmllat[0]
Else
MsgBox(0,"Fehler","Latitude nicht in XML gefunden!")
EndIf
ConsoleWrite("XML " & $xmllon & " " & $xmllat & @CRLF)$hFile = FileOpen($sFileName,0)
[/autoit]
$sText = FileRead($hFile)
FileClose($hFile)
$Lon = _stringbetween($sText, "var lon =", ";")
if IsArray($Lon) Then
$Lon = $Lon[0]
Else
MsgBox(0,"Fehler","Longitude nicht in HTML gefunden!")
EndIf
$Lat = _stringbetween($sText, "var lat =", ";")
if IsArray($Lat) Then
$Lat = $Lat[0]
Else
MsgBox(0,"Fehler","Latitude nicht in HTML gefunden!")
EndIf
$sText = StringReplace($sText, $Lon, $xmllon)
$sText = StringReplace($sText, $Lat, $xmllat)
ConsoleWrite("HTML " & $lon & " " & $lat & @CRLF)
$hFile = FileOpen($sFileName,2)
FileWrite($hFile,$sText)
FileClose($hFile)
viel Spass bei der Schatzsuchemfg (Auto)Bert
-
Danke jedoch gibt es immer noch ein Problem.
[autoit]
Da sich die XML immer ändert, muss sie immer neu geladen werden!
Das mache ich mit
[/autoit]
Local $nBytesRead = @extended
$oData = InetRead($url)
$sData = $nBytesRead & @CRLF & @CRLF & BinaryToString($oData)
[autoit]
Jedoch kommt dann immer die Meldung:MsgBox(0,"Fehler","Longitude nicht in XML gefunden!")
[/autoit] -
Hier ist die XML was die das bringen soll verstehe ich icht da eine XML meißtens gleich istaber ok..
Danke jedoch gibt es immer noch ein Problem.
Da sich die XML immer ändert, muss sie immer neu geladen werden!
...
Jedoch kommt dann immer die Meldung:Dann scheinen diese XML's nicht mit dem von dir geposteten Schema übereinzustimmen. Poste doch bitte eine wo dieser Fehler auftritt,
mfg (Auto)Bert
-
War ein Fehler von mir!
Jetzt funktioniert alles wie gewollt!
Vielen Dank Übrigens! -