Python: преобразование данных из XML в XLSX с помощью ElementTree и XlsxWriter - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь написать небольшой скрипт, который импортирует данные из файла XML и экспортирует их в файл XLSX. Я использую дерево элементов и XlsxWriter для того же.

Мой образец XML Файл:

<Description contentType="preformatted" classID="0344E9F9-4113-4228-9BA4">
  <Abstract>randomtext1</Abstract>
  <Explanation>randomtext2</Explanation>
  <Recommendations>randomtext3</Recommendations>
  <Tips>
    <Tip>asd</Tip>
  </Tips>
  <References>
    <Reference>
      <Title>title1</Title>
      <Author>title2</Author>
    </Reference>
  </References>
</Description>
<Description contentType="preformatted" classID="2920248A-E5CA-4446-B269">
  <Abstract>randomtext1</Abstract>
  <Explanation>randomtext2</Explanation>
  <Recommendations>randomtext3</Recommendations>
  <Tips>
    <Tip>asd</Tip>
  </Tips>
  <References>
    <Reference>
      <Title>title1</Title>
      <Author>title2</Author>
    </Reference>
  </References>
</Description>

Примечание: он включает - Аннотация, Пояснение, Рекомендация, Советы и справочные материалы. Поэтому я хочу, чтобы он извлекал данные аннотаций, пояснений и рекомендаций и экспортировал их в столбцы F, G, H соответственно.

Пример заголовка XLSX, как показано ниже:

S. No.  Vulnerability Name  Affected Instance   Severity    Description     Impact      Remediation

Мой текущий класс и функция для abstract указаны ниже. но здесь вроде ничего не работает. Я что-то упускаю?

class NewFinding:
    def __init__(self, abstract):
        self.abstract = abstract

    def getAbstract(self):
        return self.abstract

    def extractFindings(self):
        vulns = self.root.findall('Description')
        for vuln in vulns:
            abstract= vuln.find('Abstract').text
...