parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

вот пример

527 24.12.2003 16:21

DOM в принципе не сложен
@main[]
$xml[<?xml version="1.0" encoding="windows-1251" ?>
<document>
   <body>
      <news>
        <item id="1" date="31-12-2003">Вот и Новый Год!</item>
        <item id="2" date="01-01-2004">----------------</item>
      </news>
   </body>
</document>
]

$document[^xdoc::create{$xml}]
# читаем 
$items[^document.select[/document/body/news/item]]
^for[i](0;$items-1){
	$node[$items.$i]
	^eval($i+1).Текст узла[$node.nodeName]: $node.firstChild.nodeValue<br/>
#	здесь можно их запоминать например в хэш.
}

# добавляем новые

# созд тестовый узел
$Text[^document.createTextNode[Скоро Рождество!]]

# создаем новый узел(элемент)
$Element[^document.createElement[item]]

# добавляем созданый текстовый узел к созданому элементу
$add[^Element.appendChild[$Text]]

# атрибуты
$attr[^Element.setAttribute[id;555]]
$attr[^Element.setAttribute[date;01-05-2004]]

# добавляем созданый елемент к news
$news[^document.selectSingle[//news]]
$add[^news.appendChild[$Element]]

^document.string[$.method[html]] 
про DOM почитайте
http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html
про XPath
http://www.w3.org/2003/03/Translations/byLanguage?language=ru