PDA

Показать полную графическую версию : XML DOM wrapper (COM)


selims99
16-05-2010, 11:11
простите но не могу разобратьсо >> есть файл на компе untitled.xml
как читать с него такую структуру >>>



<Ид>a13faa5f-1ab1-11de-824c-001d6091e9aa</Ид>
<Наименование>Авт. выкл.ВА47-29 1Р 05А 4,5кА х-ка D ИЭК</Наименование>
<БитриксТеги></БитриксТеги>
<Группы>
<Ид>1c5ad3e5-1931-11de-824a-001d6091e9aa</Ид>
</Группы>
<ЗначенияСвойств>
<ЗначенияСвойства>
<Ид>CML2_CODE</Ид>
<Значение></Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_SORT</Ид>
<Значение>500</Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_ACTIVE_FROM</Ид>
<Значение></Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_ACTIVE_TO</Ид>
<Значение></Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_PREVIEW_TEXT</Ид>
<Значение></Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_PREVIEW_PICTURE</Ид>
<Значение></Значение>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>14ed8b54-55bd-11d9-848a-00112f43529a</Ид>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>14ed8b20-55bd-11d9-848a-00112f43529a</Ид>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>90</Ид>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_BAR_CODE</Ид>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_ARTICLE</Ид>
<Значение>MVA20-1-005-D</Значение>
<ЗначениеСвойства>
<Значение>MVA20-1-005-D</Значение>
<Описание></Описание>
</ЗначениеСвойства>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_ATTRIBUTES</Ид>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_TRAITS</Ид>
<Значение>Товар</Значение>
<ЗначениеСвойства>
<Значение>Товар</Значение>
<Описание>ВидНоменклатуры</Описание>
</ЗначениеСвойства>
<Значение>Товар</Значение>
<ЗначениеСвойства>
<Значение>Товар</Значение>
<Описание>ТипНоменклатуры</Описание>
</ЗначениеСвойства>
<Значение>Авт. выкл.ВА47-29 1Р 05А 4,5кА х-ка D ИЭК</Значение>
<ЗначениеСвойства>
<Значение>Авт. выкл.ВА47-29 1Р 05А 4,5кА х-ка D ИЭК</Значение>
<Описание>Полное наименование</Описание>
</ЗначениеСвойства>
</ЗначенияСвойства>
<ЗначенияСвойства>
<Ид>CML2_BASE_UNIT</Ид>
<Значение>шт.</Значение>
<ЗначениеСвойства>
<Значение>шт.</Значение>



помогите пожалуйсто))

madmasles
16-05-2010, 11:21
selims99,
А что конкретно из этого файла Вам надо прочитать?

selims99
16-05-2010, 11:27
файл 17 метроф >> читать переодически всё >> просто пример загнать в масив и вывести дальше разберусь >> XML DOM wrapper (COM) не понял примеры и давно с аутоитом уже не рабоал - подзабыл всё)

FlatX007
16-05-2010, 11:51
;Считать файл в массив.

#include <File.au3>
_FileReadToArray ( $sFilePath )

selims99
16-05-2010, 11:56
FlatX007 >> спасибо))

не файл в масив а значения XML )))

madmasles
16-05-2010, 12:02
selims99,
Или так можно попробовать:#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <File.au3>
#include (http://www.autoitscript.com/autoit3/docs/keywords.htm##include) <Array.au3>

Dim (http://www.autoitscript.com/autoit3/docs/keywords.htm#Dim) $aTest, $aNewTest[1]
Local (http://www.autoitscript.com/autoit3/docs/keywords.htm#Local) $sString, $sFile = @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@scriptdir) & "\untitled.xml"

_FileReadToArray (http://dundats.mvps.org/help/html/libfunctions/_filereadtoarray.htm)($sFile, $aTest)
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) UBound (http://www.autoitscript.com/autoit3/docs/functions/UBound.htm)($aTest) - 1
$sString = StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)(StringReplace (http://www.autoitscript.com/autoit3/docs/functions/StringReplace.htm)($aTest[$i], @TAB (http://www.autoitscript.com/autoit3/docs/macros.htm#@tab), ""), "<.*?>", "")
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) StringLen (http://www.autoitscript.com/autoit3/docs/functions/StringLen.htm)($sString) > 0 Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
_ArrayAdd (http://dundats.mvps.org/help/html/libfunctions/_arrayadd.htm)($aNewTest, StringRegExpReplace (http://www.autoitscript.com/autoit3/docs/functions/StringRegExpReplace.htm)(StringReplace (http://www.autoitscript.com/autoit3/docs/functions/StringReplace.htm)($aTest[$i], @TAB (http://www.autoitscript.com/autoit3/docs/macros.htm#@tab), ""), "<.*?>", ""))
$aNewTest[0] += 1
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
_ArrayDisplay (http://dundats.mvps.org/help/html/libfunctions/_arraydisplay.htm)($aNewTest)

selims99
16-05-2010, 12:13
madmasles >>> спасибо но не то с использованием XML DOM wrapper (COM)
ведь тогда можно ведь будет вызывать нужное поле как я понимаю при работе ini в autoit))

madmasles
16-05-2010, 13:26
selims99,
Но Ваш пример файла не имеет структуру .ini-файла.

selims99
16-05-2010, 13:28
думал с XML DOM wrapper (COM) можно работать с файлами xml как с ини ;(

madmasles
16-05-2010, 13:40
selims99,
Наверное, Вы не весь файл в первом посте привели. По идее, он в IE должен открываться. Если это так, то AutoIt Help -> User Defined Function Reference -> IE Management

selims99
16-05-2010, 15:12
<?xml version="1.0" encoding="windows-1251"?>
<КоммерческаяИнформация ВерсияСхемы="2.021" ДатаФормирования="2010-05-11T14:23:55">
<Классификатор>
<Ид>ae41eb5f-de80-11dd-8dc0-001167000000</Ид>
<Наименование>Каталог товаров</Наименование>
<Свойства>
<Свойство>
<Ид>CML2_CODE</Ид>
<Наименование>Символьный код</Наименование>
<Множественное>false</Множественное>
</Свойство>
<Свойство>
<Ид>CML2_SORT</Ид>
<Наименование>Сортировка</Наименование>
<Множественное>false</Множественное>
</Свойство>
<Свойство>
<Ид>CML2_ACTIVE_FROM</Ид>
<Наименование>Начало активности</Наименование>
<Множественное>false</Множественное>
</Свойство>
<Свойство>
<Ид>CML2_ACTIVE_TO</Ид>
<Наименование>Окончание активности</Наименование>
<Множественное>false</Множественное>
</Свойство>
<Свойство>
<Ид>CML2_PREVIEW_TEXT</Ид>
<Наименование>Анонс</Наименование>
<Множественное>false</Множественное>
</Свойство>
<Свойство>
<Ид>CML2_PREVIEW_PICTURE</Ид>
<Наименование>Картинка анонса</Наименование>
<Множественное>false</Множественное>
</Свойство>
<Свойство>
<Ид>14ed8b2e-55bd-11d9-848a-00112f43529a</Ид>
<Наименование>Вид товара</Наименование>
<Множественное>false</Множественное>
<БитриксСортировка>100</БитриксСортировка>
<БитриксКод></БитриксКод>
<БитриксЗначениеПоУмолчанию></БитриксЗначениеПоУмолчанию>
<БитриксТипСвойства>S</БитриксТипСвойства>
<БитриксСтрок>1</БитриксСтрок>
<БитриксКолонок>30</БитриксКолонок>
<БитриксТипСписка>L</БитриксТипСписка>
<БитриксТипыФайлов></БитриксТипыФайлов>
<БитриксКоличествоПолей>0</БитриксКоличествоПолей>
<БитриксСвязанныйИнфоблок></БитриксСвязанныйИнфоблок>
<БитриксОписаниеРазрешено>false</БитриксОписаниеРазрешено>
<БитриксПоискРазрешен>false</БитриксПоискРазрешен>
<БитриксФильтрРазрешен>false</БитриксФильтрРазрешен>
<БитриксРасширениеТипа></БитриксРасширениеТипа>


////////////////// и т д


да он в ИЕ открывается
нарвался на пост просто с библиотекой _XMLDomWrapper.au3
не получаетсо с ней пока поработать))

IE Management << чтот забыл про это совсем... щя гляну как можно воспользоваться в моём случае...

madmasles
16-05-2010, 17:24
selims99,
Ни разу не пользовался этой(_XMLDomWrapper.au3) библиотекой. По-этому ничего сказать не могу. :(




© OSzone.net 2001-2012