2017-01-04 27 views
0

我使用解析evernote note xml内容的功能。该票据包含商业卡数据。它由evernote xml-tags代表。我必须得到的标签没有任何特定的ID。获得所需标记的唯一方法就是通过包含在此标记的style属性中的特定css值来查找它。如何通过其中一个CSS属性查找xml标签?

XML内容是这样的:

<span> 
      <span style="x-evernote:contact-org; 
       -evernote-editable:field; 
       font-size: 16px; 
       font-family: Helvetica; 
       color: #6f6f6f; 
       line-height: 22px;">Avratech</span> 
      </span> 

这里独特的CSS属性是X-的Evernote:接触组织;

我使用“查找”方法的X路径值从xml.etree.ElementTree模块。我遇到两个问题:

  1. X路径看起来很长。

例如:

company = contact_info.find('.//span[@style="x-evernote:contact-org;-evernote-editable:field;font-size: 16px;font-family: Helvetica; color: #6f6f6f;line-height: 22px;"]')

如果我skiped的CSS参数之一,它没有找到所需的标签。

  1. 如果所有css key:value;都写在新行,我的X路径搜索 不起作用。

你能帮我吗?可能有另一个模块更适用于此目的?

有一个evernote的例子note xml-content

回答

0

由于你提到的原因(和其他一些原因),我放弃了解析接触卡笔记的方法,而是使用直接文本匹配 - 这意味着我将笔记的内容搜索为文本字符串,寻找我需要的相关子字符串并提取这些值。

相关问题