Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / расположение новах узлов / 4 сообщений из 4, страница 1 из 1
29.11.2005, 11:13
    #33405180
тот самый
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расположение новах узлов
Привет народ!

У меня проблема след. характера.
Программно добавляю новые узлы, но они все записываются в одну строку, как сделать, чтобы добавление новых узлов было не в одну строку?
...
Рейтинг: 0 / 0
29.11.2005, 11:15
    #33405188
1024
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
расположение новах узлов
смотреть в документации парсера (библиотеки) свойство indent
...
Рейтинг: 0 / 0
29.11.2005, 14:42
    #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
29.11.2005, 15:19
    #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
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / расположение новах узлов / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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