Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

TWebBrowser + XML + XSL   Найти похожие ветки 

 
DmitryK   (2006-07-17 14:48) [0]

Мне нужно отформатировать XML документ с помощью XSL и показать результат в TWEbBrowser. XSL находится в отдельном
файле, в IE все работает, а вот в TWebBrowser не форматирует.

Из-за чего может не получаться? Спасибо.


 
Медвед   (2006-07-17 15:05) [1]

wb.Navigate(xml.transformNode(xsl.selectSingleNode("//xsl:stylesheet")));


 
DmitryK   (2006-07-17 15:14) [2]

Можешь меня поправить.

Вот фрагмент кода. Мне не понятно, что такое xsl. Как его проинициализировать?

var
 xml: IXMLDOMDocument;
begin
 xml := CoDOMDocument.Create;
 try
    if OpenDialog1.Execute then
      xml.loadXML(OpenDialog1.FileName);

    wb.Navigate(xml.transformNode(xsl.selectSingleNode("//xsl:stylesheet")));
 finally
   xml := nil;
 end;
end;


 
имя   (2006-07-17 15:15) [3]

Удалено модератором
Примечание: Ник смени


 
DmitryK   (2006-07-17 15:26) [4]

Вот код.

var
 xml, xsl: IXMLDOMDocument;

begin
 xml := CoDOMDocument.Create;
 xsl := CoDOMDocument.Create;
 try

    if OpenDialog1.Execute then
     xml.loadXML(OpenDialog1.FileName);
    if OpenDialog1.Execute then
     xsl.loadXML(OpenDialog1.FileName);
    wbGeneralData.Navigate(xml.transformNode(xsl.selectSingleNode("//xsl:stylesheet")));
 finally
   xsl := nil;
   xml := nil;
 end;


end;

Вот XSL файл.

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
 <h2>Bug Manager</h2>
 <h3>import file from <xsl:value-of select="ALL/TBugExpImp/UserExp"/></h3>
 <h3>date <xsl:value-of select="ALL/TBugExpImp/DataExp"/></h3>
 <br></br>
 <table border="1">
   <tr bgcolor="#CCCCCC">
     <td align="Left"><strong> SoftWare  </strong></td>
     <td align="Left"><strong> Subject  </strong></td>
     <td align="Left"><strong> Bug status  </strong></td>
   </tr>
   <xsl:for-each select="ALL/TBugExpImp/BugsList/TBug">
     <tr bgcolor="#F5F5F5">
       <td><xsl:value-of select="SoftWare/SoftName"/></td>
       <td align="left"><xsl:value-of select="BugSubject"/></td>
       <td><xsl:value-of select="Status/StatusName"/></td>
     </tr>
     <tr></tr>  
   </xsl:for-each>
 </table>
</xsl:template>
</xsl:stylesheet>


Вот кусок XML файла.



<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="bugs.xsl"?>
<ALL><TBugExpImp><DataExp>38915.5964351736</DataExp><UserExp>admin</UserExp><BugsList><TBug><Nr>76</Nr><BugSubject>Не добавляються новые манданты</BugSubject><Module>Манданты</Module><Status><Nr>3</Nr><StatusName>Fixed</StatusName></Status><Category><CatName>Bug</CatName><IsStandard>True</IsStandard></Category><SoftWare><SoftName>AsuMed</SoftName></SoftWare><Noticed><UserName>DK</UserName><CanLogin>True</CanLogin><UserGroup><Nr>3</Nr><USName>Programmers</USName></UserGroup></Noticed><Date>38615</Date><MVersion>0</MVersion><SVersion>0</SVersion><BVersion>1</BVersion><Fixed_bug>1</Fixed_bug><Fixed><UserName>vk</UserName><CanLogin>True</CanLogin><UserGroup><Nr>1</Nr><USName>Administrator</USName></UserGroup></Fixed><FixedOn>38616</FixedOn><FixMVersion>0</FixMVersion><FixSVersion>0</FixSVersion><FixBVersion>1</FixBVersion><Solve><UserName>Not set</UserName><CanLogin>False</CanLogin><UserGroup><Nr>0</Nr><USName>Not set</USName></UserGroup></Solve><WishedPriority><PriorName>Immediatelly</PriorName><IsStandard>True</IsStandard></WishedPriority><DefinedPriority><PriorName>Not set</PriorName><IsStandard>True</IsStandard></DefinedPriority><SolveMVersion>0</SolveMVersion><SolveSVersion>0</SolveSVersion><SolveBVersion>1</SolveBVersion><Checked_bug>0</Checked_bug><Checked><UserName>Not set</UserName><CanLogin>False</CanLogin><UserGroup><Nr>0</Nr><USName>Not set</USName></UserGroup></Checked><CheckedOn>0</CheckedOn><CheckedMVersion>0</CheckedMVersion><CheckedSVersion>0</CheckedSVersion><CheckedBVersion>0</CheckedBVersion></TBug></BugsList></TBugExpImp></ALL>



В итоге получается ошибка.

"Ошибка в элементе верхнего уровня!"


 
имя   (2006-07-17 15:29) [5]

Удалено модератором


 
DmitryK   (2006-07-17 15:32) [6]

Ошибка в методе navigate.

Большое спасибо за помощь.


 
имя   (2006-07-17 15:43) [7]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
2-1154503790
Ivan Chuvashov
2006-08-02 11:29
2006.08.27
exe фаил


15-1153832388
Ломброзо
2006-07-25 16:59
2006.08.27
Командный интерпретатор


4-1146806660
__DATA__
2006-05-05 09:24
2006.08.27
Сообщение, отвечающее за изменение списка открытых окон в системе


15-1154290719
ronyn
2006-07-31 00:18
2006.08.27
HTML


15-1154110445
serko
2006-07-28 22:14
2006.08.27
Какая последняя версия Delphi?