如何通过其中一个css属性查找xml标记?

时间:2017-01-04 11:57:59

标签: python-3.x xml-parsing evernote

我创建了解析evernote note xml内容的函数。该笔记包含商务卡数据。它由evernote xml-tags表示。我必须得到的标签,没有任何特定的ID。并且获得所需标记的唯一方法是通过包含在此标记的样式属性中的特定css值来查找它。

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:contact-org;

我用过&#34;发现&#34;来自 xml.etree.ElementTree 模块的X-path值的方法。我遇到了两个问题:

  1. X路径看起来很长。
  2. 例如:

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

    如果我使用其中一个css参数,它就找不到所需的标签。

    1. 如果所有css key:value;都写在新行,我的X路径搜索 不工作。
    2. 你可以帮帮我吗?可能还有另一个更适用于此目的的模块吗?

      有一个evernote note xml-content的例子。

1 个答案:

答案 0 :(得分:0)

由于您提到的原因(以及其他一些原因),我放弃了解析联系人卡片笔记的方法,而是使用直接文本匹配 - 这意味着我将笔记的内容搜索为文本字符串,看起来对于我需要的相关子串并提取这些值。