Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение XML-документа 
:(
    Опции темы
xvr
Дата 11.4.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(DCamer @  10.4.2011,  21:14 Найти цитируемый пост)
Далее же идет обращение к Row

Угу, к ОДНОМУ row, а у вас их несколько.

PM MAIL   Вверх
DCamer
Дата 30.4.2011, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Не увидел я XSLT-трансформацию негде, к сожалению...
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
srt
Дата 1.5.2011, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



http://www.sitemaps.org/schemas/sitemap/0.9
ещё можно яндексовый хмл посмотреть
но луче сётки w3.org

Это сообщение отредактировал(а) srt - 1.5.2011, 01:25
PM MAIL   Вверх
xvr
Дата 1.5.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(DCamer @  30.4.2011,  16:42 Найти цитируемый пост)
Не увидел я XSLT-трансформацию негде, к сожалению... 

В MSDN тоже не было? Там довольно подробно расписано. ( http://msdn.microsoft.com/en-us/library/ms...28VS.85%29.aspx )

В вашем случае такой xsl файл :
Код

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="Cell">
        <item>
          <xsl:value-of select="Data"/>
        </item>
  </xsl:template>
</xsl:stylesheet>
Извлечет все Data вложенные в Cell и сделает из них плоский список xml тэгов item
Вам надо загрузить этот xsl файл в XMLDocument а потом подать его корень в nodRoot->TransformNode
На выходе получите XML документ из одних <item> ..</item>


Это сообщение отредактировал(а) xvr - 1.5.2011, 11:01
PM MAIL   Вверх
srt
Дата 1.5.2011, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



мастдай форева
хоть его все и хают - но там самая подробная инфа лежит
PM MAIL   Вверх
DCamer
Дата 1.5.2011, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Цитата(xvr @  1.5.2011,  12:00 Найти цитируемый пост)
Вам надо загрузить этот xsl файл в XMLDocument а потом подать его корень в nodRoot->TransformNode

Странно, вываливается ошибка:
Код

[BCC32 Error] sme.cpp(85): E2285 Could not find a match for 'IXMLNode::TransformNode(IXMLNode *)'

Код:
Код

        XMLDoc->LoadFromFile(fp+"\\xmlfile.xml");
        XMLDoc->Active=true;
        XSLDoc->LoadFromFile(fp+"\\xmlfile.xsl");
        XSLDoc->Active=true;
        IXMLNode *nodRoot= XMLDoc->DocumentElement;
        IXMLNode *xslnodRoot= XSLDoc->DocumentElement;
        nodRoot->TransformNode(xslnodRoot); // строка 85

Да, кстати, относительно XSLT-трансформации: оная позволит записать изменения в XML-файл?

Это сообщение отредактировал(а) DCamer - 1.5.2011, 16:03
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
srt
Дата 1.5.2011, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



блин просто напиши echo 'hello world';
если чото получица - напиши:О)

Добавлено через 1 минуту и 25 секунд
вы чо пацаны - читать разучились??
я в лёгком нифигасебе ..

Добавлено через 11 минут и 15 секунд
расслабься - ХМЛ не при делах
просто ты со своим провом не до... говорился  :О)

Добавлено через 11 минут и 54 секунды
на самом деле достаточно просто масива ..
PM MAIL   Вверх
DCamer
Дата 1.5.2011, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Цитата(srt @  1.5.2011,  21:59 Найти цитируемый пост)
на самом деле достаточно просто масива .. 

На самом деле массив идёт дальше, т.к. в массиве идёт само заполнение компонент содержимым XML-файла.

Цитата(srt @  1.5.2011,  21:59 Найти цитируемый пост)
блин просто напиши echo 'hello world';

Ну вот и пиши код PHP в приложении C++.  smile

Это сообщение отредактировал(а) DCamer - 1.5.2011, 23:45
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
srt
Дата 2.5.2011, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 13.5.2008

Репутация: нет
Всего: 1



запросто
хмл это разбор в
а потом разбор из
массив проще
хоть си хоть пыхыпы
..
PM MAIL   Вверх
xvr
Дата 2.5.2011, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(DCamer @  1.5.2011,  15:51 Найти цитируемый пост)
Странно, вываливается ошибка:

Ему еще надо подать куда выводить:
Код

    virtual void __fastcall TransformNode(const _di_IXMLNode stylesheet, WideString &output) = 0 /* overload */;
    virtual void __fastcall TransformNode(const _di_IXMLNode stylesheet, const _di_IXMLDocument output) = 0 /* overload */;

Цитата(DCamer @  1.5.2011,  15:51 Найти цитируемый пост)
Да, кстати, относительно XSLT-трансформации: оная позволит записать изменения в XML-файл?

Угу, 2я разновидность вызова

PM MAIL   Вверх
DCamer
Дата 9.5.2011, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Цитата(xvr @  1.5.2011,  12:00 Найти цитируемый пост)
На выходе получите XML документ из одних <item> ..</item>

А как впоследствии все эти итемы вгрузить в ListBox? Что не пытаюсь сделать — везде та же структура остаётся.
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
xvr
Дата 9.5.2011, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(DCamer @  9.5.2011,  20:54 Найти цитируемый пост)
А как впоследствии все эти итемы вгрузить в ListBox?

Обойти как обычный (но одноуровневый) XMLDocument

Цитата(DCamer @  9.5.2011,  20:54 Найти цитируемый пост)
Что не пытаюсь сделать — везде та же структура остаётся.

Что то не так делаете - покажите код

PM MAIL   Вверх
DCamer
Дата 10.5.2011, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Цитата(xvr @  9.5.2011,  23:27 Найти цитируемый пост)
Что то не так делаете - покажите код

Код

      AnsiString values,nms,vals;
      WideString nnm;
    _di_IXMLDocument XMLDoc = NewXMLDocument();
    _di_IXMLDocument XMLDocbn = NewXMLDocument();
    try {
        XMLDoc->LoadFromFile(fp+"\\MaterialEffects.xml");
        XMLDoc->Active=true;
        XMLDoc->Options=XMLDoc->Options << doNodeAutoIndent;
        XMLDocbn->LoadFromFile(fp+"\\MaterialEffects.xsl");
        XMLDocbn->Active=true;
        XMLDocbn->Options=XMLDocbn->Options << doNodeAutoIndent;
        IXMLNode *nodRoot= XMLDoc->DocumentElement;
        IXMLNode *xslnodRoot= XMLDocbn->DocumentElement;
        nodRoot->TransformNode(xslnodRoot, XMLDoc);
        IXMLNode *nodTable;
        IXMLNode *nodElement;
        n=nodRoot->ChildNodes->Count;
        for (int i = 0; i < n; i++) {
            nodElement = nodRoot->ChildNodes->Nodes[i];
            nnm = nodElement->GetText();
            Memo1->Lines->SetText(WideString(nms).c_bstr());
            }
    }

--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
xvr
Дата 10.5.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(DCamer @  10.5.2011,  14:41 Найти цитируемый пост)
nodRoot->TransformNode(xslnodRoot, XMLDoc);

Неправильно. 2м параметром надо подать чистый XMLDoc, в него и будут занесены результаты трансформации

PM MAIL   Вверх
DCamer
Дата 6.6.2011, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 29.1.2010

Репутация: нет
Всего: нет



Интересно, и как все эти item вгрузить?
--------------------
Нуб!   Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010
PM MAIL   Вверх
Страницы: (4) Все 1 2 [3] 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0919 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.