Итак, я работаю над кодом, чтобы конкретный XML-документ превратился в HTML-документ для представления истории.Мне удалось пройти большую часть пути, но когда я иду от объединения списка в строку и добавляю эту новую строку в список, список становится пустым.Я пытался использовать ограниченное понимание, которое я должен выяснить, в чем заключается проблема, но до сих пор не дотянулся.Я пойду и покажу вам мой код и область, в которой, по-моему, проблема.
Я уже исправил одну вещь, которую заметил, где необходимая переменная была не той, которую я использовал, но я прошел через код и не могу найти дальнейших ошибок такого рода.
import codecs
import re
fileIn = codecs.open("differenceInAbility.xml", "r", "utf-8")
text = fileIn.read()
fileIn.close()
chapterTitle = re.findall(r'<chapter number="(\d)" name="(.+?)">', text)
chapters = re.findall(r'<chapter number="\d" name=".+?">(.+?)</chapter>', text, flags=re.DOTALL)
paragraphs = re.findall(r"<paragraph>(.+?)</paragraph>", text, flags=re.DOTALL)
cleanParagraphs = []
for entry in paragraphs:
cleanup = re.sub(r"\r\n[ ]+", " ", entry)
cleanup2 = re.sub(r"[ ]+", " ", cleanup)
cleanParagraphs.append(cleanup2)
chaptersHTML = []
chapterCounter = 1
for entry in chapters:
if chapterTitle[0] == r"\d+":
chapterHTML = "<h1> Chapter " + chapterCounter + " - " + chapterTitle[1] + "</h1>"
chapterTitle.pop(0)
chapterTitle.pop(1)
paragraphsHTML = []
for paragraph in cleanParagraphs:
if paragraph in entry:
p = "<p>" + paragraph + "</p>"
paragraphsHTML.append(p)
allParagraphsHTML = "\n".join(paragraphsHTML)
wholeSection = chapterHTML + allParagraphsHTML
chaptersHTML.append(wholeSection)
chapterCounter += 1
print(chaptersHTML)
Часть, которую я считаю релевантной, такова:
paragraphsHTML = []
for paragraph in cleanParagraphs:
if paragraph in entry:
p = "<p>" + paragraph + "</p>"
paragraphsHTML.append(p)
allParagraphsHTML = "\n".join(paragraphsHTML)
wholeSection = chapterHTML + allParagraphsHTML
chaptersHTML.append(wholeSection)
, поскольку список cleanParagraphs
имеет правильное содержание, где каждый абзац документа xml является отдельной записью в этомlist.
Может ли быть проблема if paragraph in entry
, потому что она не регистрирует части "записи" в качестве абзаца внутри нее?
Если так, как бы я решил эту проблему?Как мне убедиться, что он знает, какой абзац в какой главе?