Как извлечь конкретную информацию из файла dtd? - PullRequest
0 голосов
/ 08 марта 2012

В Python я хочу получить список необходимых атрибутов из элемента, как определено в файле dtd? Есть ли возможность сделать это?

<!ELEMENT Book EMPTY>
<!ATTLIST Book
isbn CDATA #REQUIRED
title CDATA #REQUIRED
author CDATA #REQUIRED
release CDATA #IMPLIED
>

Я хочу получить все необходимые атрибуты для этого элемента. "isbn", "title" и "author".

Мои массивы Python должны выглядеть так:

bookRequiredAtts = {"isbn","title","author"}
bookOptionalAtts = {"release"}

1 Ответ

0 голосов
/ 08 марта 2012

Разобрать его с Beautifulsoup . Затем вы можете найти нужные вам атрибуты.

Вот код, который поможет вам:

from BeautifulSoup import BeautifulStoneSoup
xml = "<!ELEMENT Book EMPTY>
<!ATTLIST Book
isbn CDATA #REQUIRED
title CDATA #REQUIRED
author CDATA #REQUIRED
release CDATA #IMPLIED
>
"
soup = BeautifulStoneSoup(xml)
soup.findAll(isbn=True,title=True)

Обратитесь к документации для получения любой другой помощи.

...