Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 10:49

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Autoit XML to Array

Discussion on Autoit XML to Array within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2013
Posts: 3
Received Thanks: 0
Autoit XML to Array

Hallo,

ich möchte eine XML Datei auslesen und in ein Autoit Array verwandeln. Derzeit muss ich allerdings aus dem Datensatz mehrere Arrays bauen da ich nicht weiß wie ich mehrere Spalten füllen kann.

Hier ein Beispieldatensatz aus der XML:
Quote:
<xml>
<bestand>
<produkt>Schinken trocken</produkt>
<lager>1</lager>
<preis>3</preis>
</bestand>
<bestand>
<produkt>Schinken feucht</produkt>
<lager>0</lager>
<preis>2</preis>
</bestand>
</xml>
Hier mein Ansatz für mehrere Array´s
PHP Code:
$sData1 BinaryToString(InetRead("http://intern/bestand.php"19))
$sDataprodukt StringRegExp($sData1"\Q<produkt>\E(.+?)\Q</produkt>\E" 3)
$sDatalager StringRegExp($sData1"\Q<lager>\E(.+?)\Q</lager>\E" 3)
$sDatapreis StringRegExp($sData1"\Q<preis>\E(.+?)\Q</preis>\E" 3
Hat jemand eine Idee wie ich in einem Schwung mit den Daten 1 Array statt 3 Arrays befüllen kann?
renovieren is offline  
Old 11/13/2013, 17:41   #2
 
elite*gold: 0
Join Date: May 2011
Posts: 32
Received Thanks: 2
So müssts gehen.
Code:
Dim $codes[0] 
$Data = BinaryToString(InetRead("http://intern/bestand.php", 19)) 
$array = StringSplit($data,@crlf)
For $i = 1 To $array[0] Step 1
$string = _StringBetween($array[$i],">","<")
$codes[$i] =  $string[0]
Next
_ArrayDisplay($codes)
LikeU<3 is offline  
Old 11/13/2013, 17:42   #3
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Er will ja die Sachen die dadrin stehen in ein Array speichern, da wirst du um 3 Arrays oder 1 2D Array glaube ich nicht rumkommen.
alpines is offline  
Old 11/13/2013, 18:54   #4
 
de4df1sh's Avatar
 
elite*gold: 305
Join Date: Dec 2012
Posts: 50
Received Thanks: 16
So?
Code:
#include <Array.au3>

$Xml = FileRead ("xml.txt")

$Xml = StringReplace ($Xml, @CRLF , "")

$Array = StringRegExp ($Xml, '<produkt>(.*?)</produkt>.*?<lager>(\d*?)</lager>.*?<preis>(\d*?)</preis>', 3)
_ArrayDisplay ($Array)
de4df1sh is offline  
Old 11/18/2013, 14:29   #5
 
elite*gold: 0
Join Date: Nov 2013
Posts: 3
Received Thanks: 0
Quote:
Originally Posted by de4df1sh View Post
So?
Code:
#include <Array.au3>

$Xml = FileRead ("xml.txt")

$Xml = StringReplace ($Xml, @CRLF , "")

$Array = StringRegExp ($Xml, '<produkt>(.*?)</produkt>.*?<lager>(\d*?)</lager>.*?<preis>(\d*?)</preis>', 3)
_ArrayDisplay ($Array)
das Bringt war alles in ein Array aber nicht jedes in eine eigene Spalte sondern nur alle untereinander.

Quote:
Originally Posted by alpines View Post
Er will ja die Sachen die dadrin stehen in ein Array speichern
Genau am liebsten Excellike nur halt als autoit array mit mehreren spalten:

id - produkt - lager - preis
0 - Schinken trocken - 1 - 3
renovieren is offline  
Old 11/18/2013, 16:20   #6
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Dann speicher einfach das in einem 2D Array oder in mehreren einzelnen Arrays und füg es am Ende in einer Schleife zusammen. Sowas wie:
Code:
Local $aProdukt[2], $aLager[2], $aPreis[2], $aListe[2][3]

; 1 = (1+1=2 -> 2 Anzahl der Produkte[2])

For $i = 0 To 1
	$aListe[$i][0] = $aProdukte[$i]
	$aListe[$i][1] = $aLager[$i]
	$aListe[$i][2] = $aPreis[$i]
Next
Die Methode ist natürlich optimierungsbedürftig sollte aber funktionieren.
alpines is offline  
Old 11/19/2013, 07:57   #7
 
elite*gold: 0
Join Date: Nov 2013
Posts: 3
Received Thanks: 0
Kann ich es denn nicht direkt in ein Array packen?
renovieren is offline  
Old 11/19/2013, 16:12   #8
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Ich bin mir nicht sicher wie man 1D-Arrays in 2D Arrays speichert.
Deshalb würde ich lieber die For-Schleife nehmen.
alpines is offline  
Reply


Similar Threads Similar Threads
Autoit Array Verändern :S
01/04/2012 - AutoIt - 11 Replies
Hi leute. Ich habe mir gerade die playerstructs von css besorgt, und wollte zum testen ein script machen, welches mir von allen möglichen 64 spielern im raum, alle werte liefert. Nun habe ich ein Paar arrays gesetzt. Global Const $NameOff = Global Const $HPOff = Global Const $TeamOff =
Autoit and array of bytes
12/22/2010 - AutoIt - 1 Replies
Does anyone here know if NomadMemory.au3 can search for array of bytes or write an array of bytes to memory? Just asking because it would be useful for some trainers im thinking of making in Autoit.



All times are GMT +1. The time now is 10:49.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.