Python ElementTree XML: добавление внешней ссылки - PullRequest
0 голосов
/ 09 января 2020

Я совершенно новичок в XML в целом и в пакете XML python. Я пытаюсь добавить гиперссылку на дерево XML, но оно не совсем работает.

Я использую ElementTree Python:

import xml.etree.cElementTree as ET

Это код фрагмент для элемента, который я пытаюсь добавить в дерево XML:

para = ET.SubElement(..., "p", link_id=1)
ET.SubElement(para, "link", id=2, type="external", url="http://www.google.com").text="Google.com"

Я не уверен, как мне следует добавлять текст к ссылке. Это производит это:

<p link_id="1">
  <link id="2" type="external" url="http://www.google.com"/>
</p>

Когда я думаю, что я хочу, чтобы это выглядело так:

<p link_id="1">
  <link id="2" type="external" url="http://www.google.com">Google.com</link>
</p>

1 Ответ

1 голос
/ 09 января 2020

Вы должны обернуть атрибуты в кавычки. Это заставит ваш код выглядеть так:

para = ET.SubElement(xml, "p", link_id="1")
ET.SubElement(para, "link", id="2", type="external", url="http://www.google.com").text="Google.com"

Тогда результат должен быть таким, как ожидалось:

<p link_id="1">
  <link id="2" type="external" url="http://www.google.com">Google.com</link>
</p>

Примечание:
У вас также был лишнее > в вашем выражении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...