Имя: Пароль:
1C
 
XML: есть у кого малюсенький примерчик работы с хмл?
0 Obed
 
28.02.05
13:45
сабж
1 Dies
 
28.02.05
13:51
Ну есть, а чем он тебе поможет?
2 Asmody
 
28.02.05
13:52
малюсенький примерчик:

Процедура Сформировать()
 
  objDom=СоздатьОбъект("MSXML.DOMDocument");
 
  objRootElem = objDom.createElement("Корень");
  objDom.appendChild(objRootElem);
 
  // Creates Member element
  objMemberElem = objDom.createElement("Элемент");
  objRootElem.appendChild(objMemberElem);
 
  // Creates Attribute to the Member Element
  objMemberRel = objDom.createAttribute("Атрибут");
  objMemberRel.nodeValue = "Значение узла";
  objMemberElem.setAttributeNode(objMemberRel);
 
  // Create element under Member element, and
  // gives value "some guy"
  objMemberName = objDom.createElement("Элемент");
  objMemberElem.appendChild(objMemberName);
  objMemberName.Text = "Текст элемента";

  // Saves XML data to disk.
  objDom.save("c:\fignja.xml");
КонецПроцедуры    // Сформировать
3 ТИПОВАЯ КОНФА
 
28.02.05
13:53
Во мне навалом этого добра.
4 Obed
 
28.02.05
13:53
(1) Не разу в жизни не использовал ХМЛ, хочу хоть в чем-нибудь разобраться
5 Obed
 
28.02.05
13:54
(3) Там черт ногу сломит, мне чего-нить попроще бы
6 Obed
 
28.02.05
13:54
(2) Thanks. Это типа выгрузить. А загрузить?
7 Asmody
 
28.02.05
13:59
objDom.load("c:\fignja.xml");

(за остальным http://msdn.microsoft.com/ , поиск по XML DOM)
8 OFF
 
28.02.05
14:01
Как это про фигвам забыли?
http://chin.dataltd.ru/index2.php?id=1c_xml
9 Asmody
 
28.02.05
14:06
(8) пасиб за ссылку! помню, что видел где-то, а где и кого - забыл.
10 OFF
 
28.02.05
14:07
заходите еще :)
11 Obed
 
28.02.05
14:12
Всем спасибо, будем разбираться
12 fixin
 
28.02.05
14:20
Юзайте на здоровье (вот вам библиотека и пример)

Функция DOMДокумент(Узел)
   ДОМ=Узел.ownerDocument;
   Если ДОМ=Неопределено Тогда
       ДОМ=Узел;
   КонецЕсли;
   Возврат ДОМ;
КонецФункции

Функция DOMКорень(Дом)
   Возврат Дом.DocumentElement;
КонецФункции

Функция DOMДобавитьУзел(УзелРодитель, Имя)
   XMLDOMNode =DOMДокумент(УзелРодитель).createElement(Имя);
   УзелРодитель.appendChild(XMLDOMNode);
   Возврат XMLDOMNode;
КонецФункции

Функция DOMДети(Узел)
   Перем Рез;
   Рез=Новый Массив();
   Для Инд=0 По Узел.ChildNodes().Length-1 Цикл
       Рез.Добавить(Узел.ChildNodes(Инд));
   КонецЦикла;
   
   Возврат Рез;
КонецФункции


Процедура DOMУстановитьАтрибут(Узел, Имя, Значение)
   Узел.setAttribute(Имя, Значение);
КонецПроцедуры

Процедура DOMУстановитьТекст(Узел, Текст)
   Узел.Text=Текст;
КонецПроцедуры

Функция DOMУзелАтрибут(Узел, Имя)
   Возврат Узел.GetAttribute(Имя);
КонецФункции

Функция DOMУзелИмя(Узел)
   Возврат Узел.baseName;
КонецФункции


Функция DOMПолучитьУзел(Узел, Имя, Массив=ложь)
     Перем Рез;
   Рез=Новый Массив();
   
   ДОМ=DOMДокумент(Узел);
   ДОМ.SetProperty("SelectionLanguage","XPath");
     //Узлы = Узел.SelectNodes("//*[name()='"+Имя+"']");
     Узлы = Узел.SelectNodes(Имя);
   Для Инд=0 По Узлы.Length-1 Цикл
       Если Массив=ложь Тогда
           Возврат Узлы.item(Инд);
       КонецЕсли;
       Рез.Добавить(Узлы.item(Инд));
   КонецЦикла;
   Если Массив=Ложь Тогда
       Возврат Неопределено;
   КонецЕсли;
   Возврат Рез;

КонецФункции

Функция DOMУзелТекст(Узел)
   Возврат Узел.Text;
КонецФункции


Функция DOMУстановитьКодировку(ДОМ, Кодировка)
   pi = ДОМ.createProcessingInstruction("xml", " version='1.0' encoding='"+Кодировка+"'");
   ДОМ.appendChild(pi);
КонецФункции

Функция НастройкаФайлЗагрузить(ИмяФайла)
   
   Перем Дом;
   
   Дом=DOMСоздатьОбъект();
   Дом.Load(ИмяФайла);
   УзКорень=DOMКорень(Дом);
   УзНастройки=DOMПолучитьУзел(УзКорень,"Settings");
   НастройкаЗагрузить(УзНастройки);
КонецФункции

Функция НастройкаФайлСохранить(ИмяФайла)
   Перем Дом;
   
   Дом=XMLФайлСоздать(ИмяФайла);
   УзКорень=DOMКорень(Дом);
   УзНастройки=DOMДобавитьУзел(УзКорень,"Settings");
   НастройкаСохранить(УзНастройки);
   XMLФайлСохранить(Дом, ИмяФайла);
КонецФункции

Функция НастройкаСохранить(УзНастройки)
   
   УзСобытия=DOMДобавитьУзел(УзНастройки,"Events");
   Для Каждого ТСтр Из ТКодНастройки Цикл
       УзСобытие=DOMДобавитьУзел(УзСобытия, "Event");
       Событие=ТСтр.Событие;
       КодСобытия=ТСтр.КодСобытия;
       DOMУстановитьАтрибут(УзСобытие,"Name", Событие);    
       DOMУстановитьТекст(УзСобытие, КодСобытия);    
   КонецЦикла;
КонецФункции

Функция НастройкаЗагрузить(УзНастройки)
   //Считываем из узла
   УзСобытия=DOMПолучитьУзел(УзНастройки,"Events");
   Для Каждого УзСобытие Из DOMДети(УзСобытия) Цикл
       //УзСобытие=DOMПолучитьУзел(УзСобытия, "Event");
       Событие=DOMУзелАтрибут(УзСобытие, "Name");
       КодСобытия=DOMУзелТекст(УзСобытие);
       АлгоритмОбработкаСобытияДобавить(Событие, КодСобытия);
   КонецЦикла;
КонецФункции
13 fixin
 
28.02.05
14:21
Ой, это я для 8-ки, но для 7-ки можно библиотеку переписать, хотя там есть своя v7plus.dll.. :)
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой