Изменить XML с помощью XSL @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 7 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Petrovi4
новый человек
0
Сообщения: 6
Зарегистрирован: 07.08.07
Заголовок сообщения: Изменить XML с помощью XSL
Сообщение Добавлено: 28 Август 2007, 17:44:02 
Допустим есть xml (абсолютно любой) c секцией Documents:
Код:
<Documents>
   <Document no="1">
   <Document no="2">
   <Document no="3">
</Documents>

как мне средствами xsl добавить в уже существующий XML документ еще одну запись, например <Document no="4">. Непонятно как задать входной и выходной файлы.
Спасибо
Бaзиль Муж.
участник
49
Сообщения: 1288
Зарегистрирован: 13.02.05
Откуда: Околомосковье
Сообщение Добавлено: 28 Август 2007, 23:10:29 
По-моему, точно также, как и при помощи CSS добавить еще один тэг BODY. Абсолютно аналогично - никак.

XSL - это, если я не ошибаюсь, язык оформления, при чем тут "добавить запись" :amazed: ? Или я ошибаюсь? Если ошибаюсь, поправьте.

_________________
Не кочегары мы, не плотники,
Но сожалений горьких нет -
Как нет?
А мы дизайнеры-художники,
И с высоты вам шлем привет -
Привет!
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 28 Август 2007, 23:37:08 
Бaзиль, добавить-то можно. Но абсолютно незачем.

Причем, судя по пассажу о входных и выходных файлах, автор вопроса определенно путает красное с кислым и теплое с мягким.

Помочь здесь можно только одним: послать в магазин за книжкой "XML для начинающих".
Petrovi4
новый человек
0
Сообщения: 6
Зарегистрирован: 07.08.07
Сообщение Добавлено: 29 Август 2007, 01:37:25 
Спасибо, благо магазин рядом, уже посещал. :beer: Ситуация из разряда "заказчик хочет", но попробую объяснить её кривизну:
Всё это ВебПриложение. Есть сервис который следит за определенной папкой и как только файл в нее попадает он его обрабатывает и кладет в другую папку. Все это написано на С#. Попутно создается лог файл, и запись в него осуществляется с помощью xslt файла, содержащего секцию CDATA.
Код:
<![CDATA[
<msxsl:script implements-prefix="javascript" language="JavaScript">
    function loadDocument(url)
    {
        var DOM = new ActiveXObject("MSXML2.DOMDocument.4.
        DOM.load(url) ;
        return DOM ;
    }
]]></msxsl:script>

Вызывается он как-то так:
Код:
<xsl:param name="original.path"/>
…….
<xsl:template match="/">
<xsl:variable name="Original" select="javascript:loadDocument (string($original.path))"/>

Но этот код полностью перезаписывает файл, а не добавляет инфу в существующий.

Понятно что прописать строку в С# проще, но у меня нет доступа к этому коду. Поэтому я и хотел разобраться и похожими инструментами перезаписать свой xml. Но с Явой практически не работал. Отсюда и вопрос.
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 29 Август 2007, 06:29:18 
о господи... логи через xslt с полным подъемом в память... :bye:
Petrovi4
новый человек
0
Сообщения: 6
Зарегистрирован: 07.08.07
Сообщение Добавлено: 30 Август 2007, 12:32:21 
В принципе начал понимать как это работает. Только не могу понять, в MSXML3 есть метод getElementByTagName,а в MSXML2 он вроде отсутствует. Так ли это,и если да, то какие похожие методы есть в MSXML2 для поимки тэга по имени?
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 30 Август 2007, 14:04:08 
В здоровом на голову API должен быть метод getElementsByTagName
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 7 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100