[英]Error in transforming XML Document into HTML using XSL
I am transforming an XML document into HTML using XSLT.我正在使用 XSLT 将 XML 文档转换为 HTML。 And i get this error code:
我得到这个错误代码:
TypeError: Failed to execute 'serializeToString' on 'XMLSerializer': parameter 1 is not of type 'Node'.
at AtomXsltransformView.module.exports.AtomXsltransformView.doTransform (file:///C:/Users/X/.atom/packages/atom-xsltransform/lib/atom-xsltransform-view.coffee:86:19)
at AtomXsltransformView.module.exports.AtomXsltransformView.transform (file:///C:/Users/X/.atom/packages/atom-xsltransform/lib/atom-xsltransform-view.coffee:66:22)
at HTMLDivElement.atom.commands.add.core:confirm (file:///C:/Users/X/.atom/packages/atom-xsltransform/lib/atom-xsltransform-view.coffee:19:27)
at CommandRegistry.handleCommandEvent (C:\Users\X\appdata\local\atom\app-1.55.0\resources\app\static\<embedded>:11:350382)
at KeymapManager.dispatchCommandEvent (C:\Users\X\appdata\local\atom\app-1.55.0\resources\app\static\<embedded>:11:1230982)
at KeymapManager.handleKeyboardEvent (C:\Users\X\appdata\local\atom\app-1.55.0\resources\app\static\<embedded>:11:1227116)
at WindowEventHandler.handleDocumentKeyEvent (C:\Users\X\appdata\local\atom\app-1.55.0\resources\app\static\<embedded>:11:284879)
And this is my transform.xsl:这是我的transform.xsl:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous"/>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js" integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0" crossorigin="anonymous"></script>
<title>Food</title>
</head>
<body>
<div>
<table class="table">
<tr>
<th>ID</th>
<th>Name</th>
<th>
Category
</th>
<th>Price</th>
</tr>
<xsl:for-each select="data/menus/row/">
<tr>
<td>
<xsl:value-of select="id"/></td>
<td>
<xsl:value-of select="dtype"/></td>
<td>
<xsl:value-of select="name"/></td>
<td>
<xsl:value-of select="category"/></td>
</tr>
</xsl:for-each>
</table>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
I read about serializetoString() here: https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer/serializeToString我在这里阅读了有关 serializetoString() 的信息: https : //developer.mozilla.org/en-US/docs/Web/API/XMLSerializer/serializeToString
They suggest to use this code one: xmlString = anXMLSerializer.serializeToString(rootNode);他们建议使用此代码一: xmlString = anXMLSerializer.serializeToString(rootNode);
I dont know if i have probably to use this proposed code or another one?我不知道我是否可能必须使用这个建议的代码或其他代码? If I have to use this one, how can i implement it in my xsl-sheet.Thanks for helping.
如果我必须使用这个,我该如何在我的 xsl-sheet 中实现它。谢谢你的帮助。
您在<xsl:for-each select="data/menus/row/">
中的 XSLT 代码有语法错误,尾部斜杠不属于那里,您需要<xsl:for-each select="data/menus/row">
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.