• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Создание тегов в Dom дереве

seoman2

Green Team
17.02.2010
507
1
BIT
70
Находясь где то в одном из дочерних узлов дом дерева хочу создать свой тег со значением.
Оказывается, что теги надо создавать сначала в корне дерева, а потом их переносить в нужный узел.

docNode As NotesDOMNode
docrootnode As NotesDOMDocumentNod
Set docNode = domParser.Document
Set docrootnode = docNode
.....
docNode уже в каком-то дочернем узле destinations ....
Set newDocNode = docrootnode.CreateElementNode("LegalEntity")
newDocNode.NodeValue ="012"
Call docNode.AppendChild(newDocNode)

При этом создается

<destinations><LegalEntity/></destinations>
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
Вот пытаюсь просто в тег внести
mystr="<teg>123</teg>"
так в XMLке
<teg></teg>
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
@seoman2 вот понимаете ли..., вы берете инструмент и пытаетесь производить действия в обход штатных механизмов...
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
Как штатно создать в каком-то дочернем теге дерева dom еще пару тегов со значениями?
Если можно пример. Весь хелп пересмотрел.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
в хэлпе
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
еще можно посмотреть
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
Вроде как и я делают, но у меня не так всё на выходе с форматом тегов...
Мож надо с CreateElementNodeNS создавать ноду?
Правда не нашел пример namespaceURI , qualifiedName
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
217
@seoman2 мне уже просто нечего сказать...
про хмл уже далеко не первый пост с вами, есть куча средств и решений, но у вас с ним перманентные проблемы
постоянно втыкаетесь в ДОМ, при том что пользоваться не умеете
что за задача такая, кот. так долго и безуспешно надо мучить?
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
что за задача такая, кот. так долго и безуспешно надо мучить?
Генерация и парсинг XML-ки на основе лотусового документа. XML-ка будет универсальная, для обмена инфой между разными докоборотами.


Еще вопрос. Уже по парсингу XML
К примеру есть код в рекурсивном парсинге xml файла в XMLTree:
Код:
Sub XMLTree(docNode As NotesDOMNode, doc As NotesDocument)
....
    If Not docNode.IsNull Then  
....
Case DOMNODETYPE_ELEMENT_NODE:    
....
If    docNode.ParentNode.NodeName = "ParentTag"    And docNode.Nodename = "MyTag"    Then
   mytag$ = docNode.FirstChild.NodeValue
End If
И если <ParentTag><MyTag></MyTag></ParentTag> пустой, то ошибка...
Не ясно, как правильно проверить на пустоту docNode.FirstChild.NodeValue
 

garrick

Lotus Team
26.10.2009
1 352
151
BIT
202
Хорош фигнёй страдать, переходите уже на Java с такими задачами. Там столько всего интересного:


и много ещё всего другого...
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
В общем мне надо проверить существование FirstChild у docNode, т.к. при пустом теге MyTag в дебагере нету FirstChild вообще.
garrick - Спасибо! Всё работает как надо.
 
Последнее редактирование:

seoman2

Green Team
17.02.2010
507
1
BIT
70
Еще один вопросик по DOM.
Парсю много XML документов.
Если domParser.Process дает ошибку разбора XML, то как именно её обработать?
Возвращаемого значения нет, тольк. неизвестная ошибка.

Код:
On Error Goto ErrH
Forall v In xxx
...
Set domParser=session.CreateDOMParser(strm, outputStream)
domParser.Process
...
End Forall
Exit Sub
ErrH:
Print " Ошибка: " & Error(Err) & " в строке " & Erl
End Sub
 

garrick

Lotus Team
26.10.2009
1 352
151
BIT
202
"мыши кололись, плакали, но продолжали есть кактус" :)
 

VladSh

начинающий
Lotus Team
11.12.2009
1 786
157
BIT
81
> что за задача такая, кот. так долго и безуспешно надо мучить?
Генерация и парсинг XML-ки на основе лотусового документа. XML-ка будет универсальная, для обмена инфой между разными докоборотами.
В Domino уже есть универсальная XML-ка - dxl, просто делаете export и получаете её. Дальше парсите.
Страдание фигнёй ^ 2...
 

seoman2

Green Team
17.02.2010
507
1
BIT
70
да нет проблем с парсиногом, хочу неправильные XML как-то отрабатывать.
Например, обрабатывая ошибку 4602 ...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!