如何从XML和XSLT获取HTML文件

用户名

我有一个XML文件和相应的XSLT。我想获得一个可以在带有python的浏览器中运行的HTML文件。

这是我的python代码:

from lxml import etree
dom = etree.parse(path_xml)
xslt =etree.parse(path_xslt)
transform = etree.XSLT(xslt)
newdom = transform(dom)
print(etree.tostring(newdom, pretty_print=True))

问题是我得到的回报是无

因为我是一个初学者,所以我减轻了文件的负担,因为我认为这是问题的原因,但事实证明问题仍然存在:

XML档案:

<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet "comparexsl.xsl"?>
<!DOCTYPE verification SYSTEM "verif.dtd">
<verification statut=false>
  <nberror>2537</nberror>
  <f_ref type="t1" value="val"/>
  <f_tst type="t2" value=val2"/>
  <f_ref type="x" value="20"/>
  <f_tst type="x" value="201"/>
  <cnxn log="l" mdp="mdp1" />
  <option name="MAJ" title="" result="False">
    <time time1="116" time2="-31.25" time3="11">
    <time_a time1="0" time2=""/>
    <time_o time1="15" time2="-40"/></time>
  </option>
</verification>

这是我的XSLT工作表的内容:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8"
indent="yes" />              
<xsl:template match="verfication">
<html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <p><img src="image.jpg" alt="Binevenue"/></p>
        <h1 align="center" > Comparaison Status= FALSE </h1>
        <p>Nombre d'erreurs = <xsl:value-of select="verification/nberror"/></p>             
        <p><a href="">See more Details ...</a></p>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>
马蒂亚斯·穆勒(MathiasMüller)

您的代码中有多种错误来源。您需要同时修改XML文件和XSLT样式表。

在您的XML文件中,

  • 元素statut属性verification不包含在单引号或双引号中
  • 对于元素value属性值,f_tst没有开头的引号

在您的XSLT样式表中,

  • 您的模板匹配“验证”,而您输入元素的名称是“验证”
  • <xsl:value-of select="verification/nberror"/>应该<xsl:value-of select="nberror"/>根据上下文进行阅读(模板与匹配verification

此外,您的XSLT处理器或浏览器可能无法使用名为“ verif.dtd”的DTD。

输入(已修改)

<?xml version="1.0" encoding="UTF-8" ?>
<verification statut="false">
  <nberror>2537</nberror>
  <f_ref type="t1" value="val"/>
  <f_tst type="t2" value="val2"/>
  <f_ref type="x" value="20"/>
  <f_tst type="x" value="201"/>
  <cnxn log="l" mdp="mdp1" />
  <option name="MAJ" title="" result="False">
    <time time1="116" time2="-31.25" time3="11">
    <time_a time1="0" time2=""/>
    <time_o time1="15" time2="-40"/></time>
  </option>
</verification>

样式表

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" doctype-system="about:legacy-compat" encoding="UTF-8"
indent="yes" />              
<xsl:template match="verification">
<html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <p><img src="image.jpg" alt="Binevenue"/></p>
        <h1 align="center" > Comparaison Status= FALSE </h1>
        <p>Nombre d'erreurs = <xsl:value-of select="nberror"/>
                    </p>             
        <p><a href="">See more Details ...</a></p>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>

细细品味,但alt="Binevenue"实际上应该是alt="Bienvenue"法语。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用JSP / HTML和XSLT创建XML文件

<product to xml 标签后如何获取和转换属性| XSLT

如何使用XSLT和javascript从XML创建HTML?

使用XSLT从xml文件的父标签和子标签中获取值

如何使用 XSLT 和 Python 将 xml 的子子元素移动到新的 xml 文件?

如何仅使用Ant和XSLT创建目标目录中文件列表的XML文件?

如何处理从XML和XSLT文件生成的文本文件中的空格?

如何从 XML 文件中获取节点和节点的子节点?

如何使用python请求(获取)和读取xml文件?

如何在XSLT 2.0中获取当前的xml文件名?

如何使用XSLT 1.0过滤和获取具有最新日期的XML元素

如何在具有动态列数的XML上使用XSLT作为HTML表获取结果

如何在xslt文件上获取日期

使用XSLT获取XML属性以获取HTML上的href

如何使用XSLT转换XML文件

如何使用xslt连接文件XML

如何获取图片的文件路径(HTML和JS)

如何使用XML文件中的XSLT在网页中显示锚定URL和标题,并插入图像

如何使用 Python 和 XSLT 文件迭代解析巨大的 XML 并写入 CSV

如何使用 xslt 和 xml 显示图像?

如何使用XSLT从平面XML文件创建HTML列表(基于先前的问题)

如何使用XSLT将xml标记和属性作为具有等价树的html文本将xml转换为html?

Python:使用xml和xslt文件生成xml

将XSLT和XML输出到XML文件

如何从XML文件获取数据?

如何在 xslt 文件中转义 < 和 "?

从xml文件中获取数据并使用Ajax和xpath在html表中显示

使用 SAXON 和 XSLT 合併 XML 文件

复制除根节点和属性XSLT之外的XML文件内容