FileWrite bzw. Open

  • 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>
    #Include <File.au3>
    ;#Include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;Local $sData = InetRead($url)
    ;Local $nBytesRead = @extended
    Local $sFileName = "start.html"

    [/autoit] [autoit][/autoit] [autoit]

    $sData = '<?xml version="1.0"?>'&@CRLF
    $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)

    [/autoit] [autoit][/autoit] [autoit]

    $hFile = FileOpen($sFileName,0)
    $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)

    [/autoit]


    viel Spass bei der Schatzsuche

    mfg (Auto)Bert

  • 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