美好的一天!需要在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) 我有一个 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 表达式并显示表达式的哪一部分有效?
我正在尝试使 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 的可用性。
我刚刚读到 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 进行构建。这似乎是我最初的问题。