鱼C论坛

 找回密码
 立即注册
查看: 2228|回复: 4

[已解决]xsl导入xml数据的问题

[复制链接]
发表于 2020-12-27 03:51:24 | 显示全部楼层 |阅读模式
2鱼币
本帖最后由 qpwoeiruyt 于 2020-12-27 20:24 编辑

请问如何从test.xml 中加粗的数值 添加到 test.xsl文件的属性值里面 ???谢谢



test.xsl文件:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="从xml中导入值!" height="从xml中导入值!" style="background-color:blue">
</svg>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

test.xml 文件:

<?xml version="1.0"?>
<?xml-stylesheet type="tsxt/xsl" href="projet.xsl"?>
<game
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://www.w3school.com.cn test.xsd">

<map>
    <widthP>640</widthP>
    <heightP>550</heightP>
</map>

</game>
最佳答案
2020-12-27 03:51:25
xsl = """
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="从xml中导入值!" height="从xml中导入值!" style="background-color:blue">
</svg>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
"""
xml  = """
<?xml version="1.0"?>
<?xml-stylesheet type="tsxt/xsl" href="projet.xsl"?>
<game
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://www.w3school.com.cn test.xsd">

<map>
    <widthP>640</widthP>
    <heightP>550</heightP>
</map>

</game>
"""
from bs4 import BeautifulSoup

xslsoup = BeautifulSoup(xsl,"lxml")
xmlsoup = BeautifulSoup(xml,"lxml")
# print(soup.prettify())

xslsoup.svg.attrs["width"] = xmlsoup.widthp.string
xmlsoup = BeautifulSoup(xml,"xml")
xslsoup.svg.attrs["height"] = xmlsoup.heightP.string
print(xslsoup.svg.attrs["height"])
print(xslsoup.svg.attrs["width"])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-27 03:51:25 | 显示全部楼层    本楼为最佳答案   
xsl = """
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="从xml中导入值!" height="从xml中导入值!" style="background-color:blue">
</svg>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
"""
xml  = """
<?xml version="1.0"?>
<?xml-stylesheet type="tsxt/xsl" href="projet.xsl"?>
<game
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://www.w3school.com.cn test.xsd">

<map>
    <widthP>640</widthP>
    <heightP>550</heightP>
</map>

</game>
"""
from bs4 import BeautifulSoup

xslsoup = BeautifulSoup(xsl,"lxml")
xmlsoup = BeautifulSoup(xml,"lxml")
# print(soup.prettify())

xslsoup.svg.attrs["width"] = xmlsoup.widthp.string
xmlsoup = BeautifulSoup(xml,"xml")
xslsoup.svg.attrs["height"] = xmlsoup.heightP.string
print(xslsoup.svg.attrs["height"])
print(xslsoup.svg.attrs["width"])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-27 18:51:44 | 显示全部楼层
本帖最后由 weiter 于 2020-12-27 18:53 编辑

试一下JS的功能?
直接搞似乎不太可能
但是用JS获取xml里的数据然后转移到xsl里面应该是可以的
(没学过这个玩意也不知道JS能不能和这两个一起用)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-12-30 00:08:04 | 显示全部楼层
weiter 发表于 2020-12-27 11:51
试一下JS的功能?
直接搞似乎不太可能
但是用JS获取xml里的数据然后转移到xsl里面应该是可以的

似乎也不太行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-30 18:13:57 | 显示全部楼层
xsl = """
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
        <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="从xml中导入值!" height="从xml中导入值!" style="background-color:blue">
</svg>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
"""
xml  = """
<?xml version="1.0"?>
<?xml-stylesheet type="tsxt/xsl" href="projet.xsl"?>
<game
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://www.w3school.com.cn test.xsd">

<map>
    <widthP>640</widthP>
    <heightP>550</heightP>
</map>

</game>
"""
from bs4 import BeautifulSoup

xslsoup = BeautifulSoup(xsl,"lxml")
xmlsoup = BeautifulSoup(xml,"lxml")
# print(soup.prettify())

xslsoup.svg.attrs["width"] = xmlsoup.widthp.string
xmlsoup = BeautifulSoup(xml,"xml")
xslsoup.svg.attrs["height"] = xmlsoup.heightP.string
print(xslsoup.svg.attrs["height"])
print(xslsoup.svg.attrs["width"])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 20:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表