<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=XML.AddNode</id>
	<title>XML.AddNode - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=XML.AddNode"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=XML.AddNode&amp;action=history"/>
	<updated>2026-04-04T09:33:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=XML.AddNode&amp;diff=3936&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=XML.AddNode&amp;diff=3936&amp;oldid=prev"/>
		<updated>2021-06-28T07:06:20Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 07:06, 28 June 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=XML.AddNode&amp;diff=3935&amp;oldid=prev</id>
		<title>1&gt;Admin at 09:01, 18 June 2021</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=XML.AddNode&amp;diff=3935&amp;oldid=prev"/>
		<updated>2021-06-18T09:01:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=AddNode&lt;br /&gt;
|object=[[Объект XML]]&lt;br /&gt;
|caption=Работа со значением ветки&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в строка или число, неверный формат аргументов, ветка-сирота.&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Объект XML]]}}&lt;br /&gt;
Функция позволяет добавить новую ветку как последнюю подчиненную ветку текущей. Для ветки задается полное имя, значение, атрибуты, если они необходимы. Также по умолчанию производится текстовое форматирование. Значение ветки может содержать подчиненные ветки. Функция может быть использована как с объектом XML, так и с объектом ветки XML (в т.ч. непозиционированной). Функцию нельзя использовать с объектом осиротевшей ветки (см. [[Объект XML]]).&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|XML.}}'''AddNode'''(''&amp;lt;Имя ветки с пространством имен (STRING)&amp;gt;''{{Optional|,''&amp;lt;Значение ветки (STRING)&amp;gt;'',''&amp;lt;Атрибуты ветки (STRING)&amp;gt;''{{Default|{{Eq}}&amp;quot;&amp;quot;}},''&amp;lt;Использовать форматирование (INT)&amp;gt;''{{Default|{{Eq}}1}}}}):''&amp;lt;Объект добавленной ветки (XMLBRANCH)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя ветки с пространством имен (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Аргумент задает полное имя добавляемой ветки. Имена веток имеют определенные ограничения по стандарту XML, см. описание атрибута [[XML.FullName|FullName]].&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Значение ветки (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Значение ветки -- произвольный текст, который может содержать подчиненные ветки, если это необходимо (в том числе, особенные ветки комментария). '''Важно''': функция не выполняет автоматического перекодирования предоставленного текста значения в формат XML (т.е., не кодирует знаки '''&amp;amp;''', '''&amp;quot;''', '''&amp;lt;''', '''&amp;gt;''' и '''&amp;amp;apos;'''). Для кодирования значения веток '''необходимо''' вызвать функцию [[EncodeXMLString]]. Это сделано для того, чтобы можно было использовать значения, содержащие подчиненные ветки. Если аргумент не указан, ветка будет добавлена в виде самозакрывающегося тега (т.е., не будет иметь значения).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Атрибуты ветки (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент задает атрибуты ветки, если они необходимы. Атрибуты имеют следующий формат: &amp;lt;code&amp;gt;&amp;lt;Атрибут1&amp;gt;=&amp;quot;&amp;lt;Значение 1&amp;gt;&amp;quot;[ &amp;lt;Атрибут2&amp;gt;=&amp;quot;&amp;lt;Значение 2&amp;gt;&amp;quot; ...]&amp;lt;/code&amp;gt;. Имена атрибутов имеют такие же ограничения, как и имена веток (см. описание атрибута [[XML.FullName|FullName]]). Имена атрибутов также могут содержать пространства имен. По стандарту одна ветка не может иметь два атрибута с одним и тем же именем, однако, проверка таких случаев в этой функции не производится, соответствие стандарту остается на совести разработчика. Значения атрибутов должны быть заранее перекодированы в формат XML  (см. описание второго аргумента).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Использовать форматирование (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Аргумент включает режим сохранения текстового форматирования для удобства чтения текста XML документа человеком. В этом режиме каждая новая ветка следует с новой строки и каждый открывающийся тег ветки отделен от начала строки определенным количеством пробелов. Для разделителя используются два пробела на один уровень глубины ветки в структуре документа XML. Если режим не активен, никаких дополнительных знаков совместно с новой веткой добавлено не будет.&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращает объект ветки XML, позиционированный на добавленной ветке.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aObject:=XML.Create();&lt;br /&gt;
&lt;br /&gt;
//Добавление особой ветки&lt;br /&gt;
aObject.Text:=&amp;quot;&amp;lt;?xml version=&amp;quot;&amp;quot;1.0&amp;quot;&amp;quot; encoding=&amp;quot;&amp;quot;UTF-8&amp;quot;&amp;quot; ?&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Позиционирование объекта ветки&lt;br /&gt;
aNode:=aObject.Root;&lt;br /&gt;
&lt;br /&gt;
//Добавление обычной ветки&lt;br /&gt;
aNode:=aNode.AddNode(&amp;quot;data&amp;quot;,,&amp;quot;var1='value1'&amp;quot;,0);&lt;br /&gt;
&lt;br /&gt;
//Будет выведено: &amp;quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&amp;lt;data var1='value1'/&amp;gt;&amp;quot;&lt;br /&gt;
Message(aObject.Text);&lt;br /&gt;
&lt;br /&gt;
//Изменение значения текущей ветки (data)&lt;br /&gt;
//Значение может содержать подчиненные ветки&lt;br /&gt;
aNode.Value:=&amp;quot;&amp;lt;subdata&amp;gt;text goes here...&amp;lt;/subdata&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Изменение позиционирования&lt;br /&gt;
aNode.Path:=&amp;quot;&amp;lt;data&amp;gt;&amp;lt;subdata&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
//Будет выведено &amp;quot;text goes here...&amp;quot;&lt;br /&gt;
Message(aNode.Value);&lt;br /&gt;
&lt;br /&gt;
//Будет выведено &amp;quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&amp;lt;data var1='value1'&amp;gt;&amp;lt;subdata&amp;gt;text goes here...&amp;lt;/subdata&amp;gt;&amp;lt;/data&amp;gt;&amp;quot;&lt;br /&gt;
Message(aObject.Text);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
</feed>