2016-04-25 28 views
2

我想要处理一些xml文件。不幸的是我没有访问所有构成所有可能的树我可以使用xpath(在lxml中)查找在开始时未知的标签名称吗?

的不同元素,这样的例子,我可能有一个构造

<typeOfBook> 
    <isMystery>True</isMystery> 
</typeofBook> 

很容易的一个文件,但是当我看在这些文件的初始创建过程中使用的清单,我看到“书籍类型”(如“参考灵性”)部分下的类别。鉴于我与神秘的经验,我尝试过,我发现,他们实际使用的标签是isrefspirit写XPath表达式

我建立在此基础上

'//typeofbook/isreferencespirituality/text()' 

我的XPath因此正确的XPath是

'//typeofbook/isrefspirit/text()' 

鉴于文件的数量和可能的类别数量我试图学习的是有一个xpath捕鱼工具 - 我想通过我的所有文件运行一次,找到所有类型的书后标签这样我就可以正确分类时,返回

文本基本上我想这样做

运行在所有我的文档的某些查询找到以下行*

'//typeofbook/*/' 
+0

'“// typeofbook/*”'将返回typeofbook标签内的所有标签。 –

+1

哇在正确的轨道上,但我放弃了它 - 感谢帖子作为答案,我会信任你。 – PyNEwbie

回答

1

*用作通配符所以只需//typeofbook/*'将获得typeofbook标记中的所有子元素。

有针对你可能会发现有用未知节点一对夫妇的其他东西:

@* # any attribute 
node() # any node at all 
相关问题