#include <_XMLDomWrapper.au3>
#include <Array.au3>
_XMLFileOpen('http://sc2tv.ru/api.php')
$aStream = _XMLGetValue('//online/stream/*')
_ArrayDisplay($aStream, 'Stream')
$aStreamPreset = _XMLGetValue('//online/stream/preset/*')
_ArrayDisplay($aStreamPreset, 'Stream Preset')
$aFuture = _XMLGetValue('//future/stream/*')
_ArrayDisplay($aFuture, 'Future')
$aUserStreams = _XMLGetValue('//user_streams/stream/*')
_ArrayDisplay($aUserStreams, 'User Streams')
$aNews = _XMLGetValue('//news/item/*')
_ArrayDisplay($aNews, 'News')
#include <_XMLDomWrapper.au3>
#include <Array.au3>
_XMLFileOpen('http://sc2tv.ru/api.php')
#Region Online
$aID = _XMLGetValue('//online/stream/id')
_ArrayDisplay($aID, 'title')
$aTitle = _XMLGetValue('//online/stream/title')
_ArrayDisplay($aTitle, 'Title')
$aDescription = _XMLGetValue('//online/stream/description')
_ArrayDisplay($aDescription, 'Description')
$aSource = _XMLGetValue('//online/stream/preset/source')
_ArrayDisplay($aSource, 'Preset Source')
$aEmbed = _XMLGetValue('//online/stream/preset/embed')
_ArrayDisplay($aEmbed, 'Preset Embed')
#EndRegion Online
Вопрос заключается не в том, КАК сделать тото или иной запрос в БД, а КАК ЛУЧШЕ? Ведь можно сделать запрос функциями Autoit, а можно запросами sqlite, как я понимаю.Если работал с БД - русская помощь тебе не нужна, если не работал, то нужна помощь по БД
+ поищи по форуму строку sqlite.au3, основные моменты здесь показывались
<?xml version="1.0" encoding="windows-1251" ?>
<ROOT>
<SECTION1>
<ID FileName="Text1" />
</SECTION1>
<SECTION2>
<ID FileName="Text2" />
</SECTION2>
<SECTION3>
<PODSECTION3>
<PODSECTION3_1>
<ID FileName="Text3" />
</PODSECTION3_1>
<PODSECTION3_2>
<ID FileName="Text4" />
</PODSECTION3_2>
</PODSECTION3>
</SECTION3>
</ROOT>
#include <Array.au3>
#include <_XMLDomWrapper.au3>
Global $GroupXML = _XMLFileOpen(@ScriptDir & '\test.xml')
Global $sRootX = 'ROOT'
Global $aChildsRoot
GetRootXML()
GetTextXML()
;Функция получения дочерних секций
Func GetRootXML()
$aChildsRoot = _XMLGetChildNodes($sRootX)
If Not IsArray($aChildsRoot) Then
MsgBox(4112, 'Ошибка', 'Не удалось считать секции' & $sRootX)
Exit
EndIf
For $i = 1 To $aChildsRoot[0]
$aChildsRoot[$i] = $sRootX & '/' & $aChildsRoot[$i]
Next
_ArrayDisplay($aChildsRoot,'ChildsRoot')
EndFunc ;==>GetRootXML
Func GetTextXML()
Local $iCheck
Dim $aFileName[1] = [0]
Dim $aChilds
Dim $aAttribs
Dim $aName[1], $aValue[1]
For $iR = 1 To $aChildsRoot[0]
$aChilds = _XMLGetChildText($aChildsRoot[$iR])
If @error Then
ContinueLoop; Если секция пустая
EndIf
_ArrayDisplay($aChilds,'Childs')
;---------------------Поиск FileName------------------------------------
For $iC = 1 To $aChilds[0]
$aAttribs = _XMLGetAllAttribIndex($aChildsRoot[$iR] & '/' & $aChilds[$iC], $aName, $aValue, "", $iC - 1)
If @error Then
ContinueLoop
EndIf
$iCheck = -1
_ArrayDisplay($aAttribs,'Attribs')
;Обще количество колонок.
For $iA = 0 To UBound($aAttribs, 2) - 1
;Поиск нужного параметра
If StringCompare("FileName", $aAttribs[0][$iA]) = 0 Then
$iCheck = $iA
ExitLoop
EndIf
Next
If $iCheck < 0 Then
ContinueLoop
EndIf
;Записать имя файла в массив
$aFileName[0] += 1
ReDim $aFileName[$aFileName[0] + 1]
$aFileName[$aFileName[0]] = $aAttribs[1][$iCheck]
Next
Next
_ArrayDisplay($aFileName,'FileName')
EndFunc ;==>GetTextXML
#include <Array.au3>
#include <_XMLDomWrapper_.au3>
Global $GroupXML = _XMLFileOpen(@ScriptDir & '\test.xml')
Global $sRootX = 'ROOT'
Global $aChildsRoot[1] = [0]
GetRootXMLRecurs($sRootX, $aChildsRoot)
;_ArrayDisplay($aChildsRoot, 'ChildsRoot')
GetTextXML()
;Рекурсивная функция получения дочерних секций
Func GetRootXMLRecurs($sRoot, ByRef $_aChildsRoot)
Local $iNodeCount
Local $aChildsTmp
Dim $aName[1], $aValue[1]
Local $aChilds = _XMLGetChildNodes($sRoot)
If Not IsArray($aChilds) Then
;ConsoleWrite('Не удалось считать секцию ' & $sRoot & " error = " & @error & @CRLF)
Return SetError(1, 0, -1)
EndIf
;_ArrayDisplay($aChilds, 'Childs')
For $i = 1 To $aChilds[0]
$aChilds[$i] = $sRoot & '/' & $aChilds[$i]
GetRootXMLRecurs($aChilds[$i], $_aChildsRoot)
If @error Then
;Если секция не пустая
;ConsoleWrite($aChilds[$i] & @CRLF)
$aChildsTmp = _XMLGetAllAttrib($aChilds[$i] & "[" & $i & "]", $aName, $aValue)
If Not @error Then
;_ArrayDisplay($aChildsTmp, $aChilds[$i] & " " & $i)
$_aChildsRoot[0] += 1
ReDim $_aChildsRoot[$_aChildsRoot[0] + 1]
$_aChildsRoot[$_aChildsRoot[0]] = $sRoot
ExitLoop
EndIf
EndIf
Next
EndFunc ;==>GetRootXMLRecurs
Func GetTextXML()
Local $iCheck
Dim $aFileName[1] = [0]
Dim $aChilds
Dim $aAttribs
Dim $aName[1], $aValue[1]
For $iR = 1 To $aChildsRoot[0]
$aChilds = _XMLGetChildText($aChildsRoot[$iR])
If @error Then
ContinueLoop; Если секция пустая
EndIf
;_ArrayDisplay($aChilds, $aChildsRoot[$iR])
;---------------------Поиск FileName------------------------------------
For $iC = 1 To $aChilds[0]
ConsoleWrite($iC - 1 & " " & $aChildsRoot[$iR] & '/' & $aChilds[$iC] & @CRLF)
;$aAttribs = _XMLGetAllAttribIndex($aChildsRoot[$iR] & '/' & $aChilds[$iC], $aName, $aValue, "", $iC - 1)
$aAttribs = _XMLGetAllAttrib($aChildsRoot[$iR] & '/' & $aChilds[$iC] & "[" & $iC & "]", $aName, $aValue)
If @error Then
ContinueLoop
EndIf
;_ArrayDisplay($aAttribs, 'Attribs')
$iCheck = -1
;Обще количество колонок.
For $iA = 1 To $aAttribs[0][0]
;Поиск нужного параметра
If StringCompare("FileName", $aAttribs[0][$iA]) = 0 Then
$iCheck = $iA
ExitLoop
EndIf
Next
If $iCheck < 0 Then
ContinueLoop
EndIf
;Записать имя файла в массив
$aFileName[0] += 1
ReDim $aFileName[$aFileName[0] + 1]
$aFileName[$aFileName[0]] = $aAttribs[1][$iCheck]
Next
Next
_ArrayDisplay($aFileName, 'FileName')
EndFunc ;==>GetTextXML