【问题标题】:How to find xml tag by one of the css attributes?如何通过 css 属性之一查找 xml 标记?
【发布时间】:2017-05-18 17:04:30
【问题描述】:

我制作了解析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;

我使用来自 xml.etree.ElementTree 模块的 X-path 值的“查找”方法。我遇到了两个问题:

  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;"]')

如果我跳过了其中一个 css 参数,它不会找到需要的标签。

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

你能帮帮我吗?是否有其他模块更适用于此目的?

有一个evernotenote xml-content的例子。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 2010-11-13
      • 2012-09-30
      • 1970-01-01
      • 2020-10-30
      • 2019-07-21
      • 2015-08-15
      相关资源
      最近更新 更多