1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Как изменить значение линков в поле?

Тема в разделе "Lotus - Программирование", создана пользователем jcolor, 14 ноя 2007.

  1. jcolor

    jcolor Гость

    Репутация:
    0
    Всем привет:))
    необходимо в документах изменить значение ссылок в RichText полях.
    т.е. необходимо сделать экспорт документа, исправить его и затем импорт назад.
    с экспортом и импортом все понятно, а вот как внести изменения?

    попробовала использовать DOM, чтобы удобно былло перемещаться по тегам
    получилось следующее:
    Код:
    Set docNode = domParser.Document
    Set rootElement = domParser.Document.DocumentElement
    Set docList = rootElement.GetElementsByTagName ("item")
    If docList.NumberOfEntries = 0 Then Exit Sub
    
    For iDoc = 1 To docList.NumberOfEntries	'перебор всех item
    Set eNode = docList.GetItem(iDoc)
    If eNode.Attributes.NumberOfEntries > 0 Then
    For iAttr = 1 To eNode.Attributes.NumberOfEntries ' поиск item c атрибутом name = "RT_field"
    If eNode.GetAttribute("name") = "RT_field" Then
    Set itemList = eNode.GetElementsByTagName ("urllink") ' поиск линков в RichText поле
    If itemList.NumberOfEntries > 0 Then	
    For iDoc2 = 1 To itemList.NumberOfEntries
    Set tNode = itemList.GetItem(iDoc2)
    if tNode.Attributes.NumberOfEntries > 0 Then
    str_1=tNode.GetAttribute("href") ' !!!!! в найденных линках необходимо изменить значение href
    Call tNode.SetAttribute("href", "new_link.html") 
    End If
    Next
    End If
    End If
    Next
    End If
    Next
    т.е. получается что перемещаясь по документу я нахожу те ссылки и атрибуты, кот. необходимо исправить,
    теперь вопрос как их исправить?
    есть SetAttribute("href", "new_link.html"), но как запомнить эти изменения?
     
  2. serEJa Shabalin

    serEJa Shabalin Гость

    Репутация:
    0
    Если речь идет о DXL NotesDOMParser.Serialize()
     
  3. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Задекларь tNode как NotesDOMElementNode.
    И не забудь про Serialize
     
  4. jcolor

    jcolor Гость

    Репутация:
    0
    <!--QuoteBegin-Omh+14:11:2007, 15:04 -->
    <span class="vbquote">(Omh @ 14:11:2007, 15:04 )</span><!--QuoteEBegin-->Задекларь tNode как NotesDOMElementNode.
    И не забудь про Serialize
    [snapback]85643" rel="nofollow" target="_blank[/snapback]​
    [/quote]


    СПАСИБО!!!!!
    Получилось

    Какой-то глюк еще проявляется, в один момент после внесения изменений в агенте, появляется ошибка : "Dom parser opertion failed" :)
    ошибка исчезает, после создания нового агента и переноса кода :(((
    что это может быть?
     
  5. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Выглядит как бред....
    Может ты пытаешься наускать DOM парсер на несохранённый док?
    У меня других идей пока нет...

    Выпечатай NotesDOMParser.Log - это поможет разобраться в чём косяк..

    И вообще сделай код так, что бы при включенной опции Option Declare, компилятор не ругался.
    Самому же легче будет...
     
  6. jcolor

    jcolor Гость

    Репутация:
    0
    <!--QuoteBegin-Omh+14:11:2007, 16:23 -->
    <span class="vbquote">(Omh @ 14:11:2007, 16:23 )</span><!--QuoteEBegin-->Выпечатай NotesDOMParser.Log - это поможет разобраться в чём косяк..
    [snapback]85683" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Разобралась, действительно оказались проблемы с файлом!
    Спасибо :)
     
  7. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Sehr gud.
    DXLExp -> DOMParser -> DXLImp рулит :)
     
Загрузка...

Поделиться этой страницей