相关疑难解决方法(0)

如何在Python中使用XSLT转换XML文件?

美好的一天!需要在Python中使用xslt转换xml.我在php中有一个示例代码.

如何在Python中实现这一点或在哪里找到类似的东西?谢谢!

$xmlFileName = dirname(__FILE__)."example.fb2";
$xml = new DOMDocument();
$xml->load($xmlFileName);

$xslFileName = dirname(__FILE__)."example.xsl";
$xsl = new DOMDocument;
$xsl->load($xslFileName);

// Configure the transformer
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl); // attach the xsl rules
echo $proc->transformToXML($xml);
Run Code Online (Sandbox Code Playgroud)

python xml xslt converter

61
推荐指数
2
解决办法
6万
查看次数

在 python 中评估 Xpath2.0

我有一个 XPath 表达式,如下所示。

if(replace(//p[1]/text(),'H','h') = 'hello') then //p[1]/text() else if(//p[1]/text() = 'world') then //p[2]/text() else 'notFound'
Run Code Online (Sandbox Code Playgroud)

我想显示哪个 'if ' 表达式有效。

e.g //p[1]/text() if first 'if' expression worked.
Run Code Online (Sandbox Code Playgroud)

'If' 表达式可以嵌套 if、for 循环和 xpath2.0 函数。

我找不到任何用于 python 的 xpath2.0 库。因此,我尝试将此 Js转换为 python,但我仍然可以将 xpath2.0 表达式拆分为词法分析器,但无法将其完全转换为 python。

如果有的话,建议我一些用于 python 的 Xpath2.0 库。另外如何解释 XPath 表达式并显示表达式的哪一部分有效?

python xpath xslt-2.0 xpath-2.0

10
推荐指数
1
解决办法
3602
查看次数

python selenium - 如何使 webdriver 使用 XPATH 版本 2.0

我正在尝试使 webdriver/浏览器能够处理 XPATH 版本 2.0。

使用旧版本的 XPATH 没问题,但在某些特定情况下我还需要处理 XPATH 2.0 版本。

我尝试了一些关于此的研究,但仍然没有线索。

例如,假设我想获取包含或属性<a>的所有元素:titlehref

# find elements by xpath in older version
driver.find_elements_by_xpath("//a[@title or @href]")

# I want the code to be able to process XPATH version 2.0
driver.find_elements_by_xpath("//a/(@title|@href)")

Run Code Online (Sandbox Code Playgroud)

我希望我可以找到一些配置(或者我应该使用什么浏览器)来实现处理 XPATH 版本 2.0 的可用性。

python selenium selenium-webdriver

5
推荐指数
1
解决办法
1430
查看次数

使 saxon-c 在 Python 中可用

我刚刚读到 Saxon 现在可用于 Python,这非常有趣而且很好,但是任何人都可以编写有关如何使其可用于 Python/Anaconda/WingIDE 或类似软件的教程吗?我习惯于使用 pip 或 conda 进行安装,并指向一个包/轮以集成到我的环境中,但我从未从头开始,因为感觉我在这里做的,还是我错过了什么?

该文档指出:

Linux 和 MacOS 平台上的 Python 扩展可以使用以下命令构建:python3 saxon-setup.py build_ext -if

好吧,我在 Windows 机器上,那又怎样?我试图阅读这个主题,但接收和“.h”文件似乎超出了我的脑海。

我真的很想让它在 Python 上工作,但现在,我被困在 Python 中的 xslt 和 xpath 1.0,并且不得不通过 Java 为 xslt 2+ 努力。

任何帮助将不胜感激!

我将在 StackOverflow 上写另一个问题,但重点是当我安装了 64 位版本的 Anaconda 时如何使用 Cython 进行构建。这似乎是我最初的问题。

python saxon saxon-c

1
推荐指数
1
解决办法
846
查看次数