XML и XSL

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

XML и XSL

Сообщение ANDLL » 25.05.2004 (Вт) 15:12

Проблема такая: есть XSL файл:
Код: Выделить всё
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
Ответ:
<xsl:if test="root/easycond=1">да</xsl:if>
<xsl:if test="root/easycond=0">нет</xsl:if>
</xsl:template>
</xsl:stylesheet>


И такой модуль:

Код: Выделить всё
Sub Main()
Dim xmlTemplate As New MSXML2.DOMDocument30
Dim xmlData As New MSXML2.DOMDocument30
If Not xmlTemplate.Load(App.Path & "\template.xsl") Then MsgBox "err1": Exit Sub
If Not xmlData.loadXML("<root><easycond>1</easycond></root>") Then MsgBox "err2": Exit Sub
MsgBox xmlData.transformNode(xmlTemplate)
End Sub


И в последней строке ошибка:марке 'eof' не найден '='.
:?: :?:

Собственно, как от этого избавиться.
ОС: WindowsXP, библиотека msxml2.
Вложения
XML_samp.zip
Пример кода.
(1.3 Кб) Скачиваний: 31

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 25.05.2004 (Вт) 15:45

Предлагается шаблон заменить на вот такой:

Код: Выделить всё
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl='http://www.w3.org/1999/XSL/Transform'

xmlns:msxsl='urn:schemas-microsoft-com:xslt'>
<xsl:template match="/">

<xsl:for-each select ="root/*">
<xsl:if test="easycond=1">да</xsl:if>
<xsl:if test="easycond=0">нет</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 25.05.2004 (Вт) 19:06

Проблема исчезла, но!
Я использоал вот-такой шаблон:
Код: Выделить всё
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:template match="/">
Ответ№
<xsl:if test="root/easycond=1">да</xsl:if>
<xsl:if test="root/easycond=0">нет</xsl:if>
</xsl:template>
</xsl:stylesheet>


А MsgBox вывел:
MsgBox писал(а):<?xml version="1.0" encoding="UTF-16"?>
Ответ:
да


Что значит первая строка?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

    TopList  
cron