from lxml import etree
...
file = 'path/to/file.xml'
tree = etree.parse(file)
result = tree.xpath('//processing-instruction("link")')
for pi in result:
# Each pi is a processing instruction tagged as 'link'
if pi.get('type').__str__() == 'ResourceImport':
# PI with type = ResourceImport
print pi.text # Check the text of tis PI
如果您的处理器支持XQuery 3.1,以下是一种解决问题的方法:
对于旧版本的XQuery,还有一个解决方案:
^{pr2}$这两个代码片段都是在这样一个假设下工作的:处理指令中的值都是按照您的示例(键和值用等号分隔,值用双引号括起来)。在
多亏了大家,我了解了加工指令,通过这个,我研究了如何处理它,如果有人需要的话,我让我的划痕:
使用
lxml
库很容易获得使用XPath的处理指令。在我希望这段代码能帮助那些因为这个问题而来到这里的人。在
必须区分处理指令和xml声明
两者的编写方式相同:
<?SomeName SomeContent ?>
。在找到details in section 2.6!在
虽然xml声明必须首先以
<?xml
开头,但其他处理指令可能(几乎)出现在xml中的任何位置。在处理指令必须有一个名称,而内容不像元素的内容那样受到正式限制。它是自由文本。。。在
所以这就是格式良好的XML:
我不使用python,但这将在SQL Server中返回PI:
^{pr2}$即使您的内容看起来像attributes:在PI中,内容是自由文本。所以你必须从内容中分析出你的信息。。。在
This answer可能对你有帮助。在
相关问题 更多 >
编程相关推荐