powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / расположение новах узлов
4 сообщений из 4, страница 1 из 1
расположение новах узлов
    #33405180
тот самый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет народ!

У меня проблема след. характера.
Программно добавляю новые узлы, но они все записываются в одну строку, как сделать, чтобы добавление новых узлов было не в одну строку?
...
Рейтинг: 0 / 0
расположение новах узлов
    #33405188
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотреть в документации парсера (библиотеки) свойство indent
...
Рейтинг: 0 / 0
расположение новах узлов
    #33406001
Фотография Pavel Tsukanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024смотреть в документации парсера (библиотеки) свойство indent
Может я что-то не понимаю но в MSXML такого свойства нет.
А у автора видимо проблема с тем, что при сохранении в файл все тэги выстраиваются в один ряд. Я тоже с этим столкнулся, и пока единственный способ, который мне пришёл на ум (и был реализован) это добавлять текстовые ноды.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
 procedure  TXMLWriter.FormatXML;

   procedure  FormatNode(ANode : IXMLDOMNode; ALevel : integer);
   var 
    Childs : IXMLDOMNodeList;
    i : integer;
    a :  array   of  IXMLDOMNode;
   begin 
     if  ANode.hasChildNodes  then 
     begin 
      Childs := ANode.childNodes;
      SetLength(a,Childs.length);
       try 
         for  i :=  0   to  Childs.length- 1   do 
          a[i] := Childs.item[i];
         for  i :=  0   to  Length(a)- 1   do 
          ANode.insertBefore(FDocument.createTextNode(# 13 # 10 +DupeString(' ',(ALevel+ 1 )* 2 )),a[i]);
         for  i :=  0   to  Length(a)- 1   do 
          FormatNOde(a[i],ALevel+ 1 );
        ANode.appendChild(FDocument.createTextNode(# 13 # 10 +DupeString(' ',(ALevel)* 2 )));
       finally 
        a :=  nil ;
       end ;
     end ;
   end ;

 begin 
  FormatNode(FDocument.documentElement, 0 );
 end ;

...
Рейтинг: 0 / 0
расположение новах узлов
    #33406176
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<xsl:output
method = "xml" | "html" | "text" | QName
version = nmtoken
encoding = string
omit-xml-declaration = "yes" | "no"
standalone = "yes" | "no"
doctype-public = string
doctype-system = string
cdata-section-elements = QNames
indent = "yes" | "no"
media-type = string
/>

но если надо красиво оформить то конечно придётся чёт писать своё
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / расположение новах узлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]