При использовании SQL Server 2005 (или больше), Вы могли бы хотеть рассмотреть переключение на NVARCHAR (МАКС) в Вашем определении таблицы; ТЕКСТ, NTEXT и Типы данных image SQL Server 2000 будут удерживаться от использования в будущих версиях SQL Server. 2005 SQL Server предоставляет обратную совместимость типам данных, но необходимо, вероятно, использовать VARCHAR (МАКС), NVARCHAR (МАКС) и VARBINARY (МАКС) вместо этого.
Первую часть можно по большей части выполнить с помощью ElementTree , но для этого потребуется еще несколько шагов:
>>> import xml.etree.ElementTree as ET
>>> html = ET.XML('<html><head><title>Hi</title></head><body></body></html>')
>>> html.head = html.find('head')
>>> html.head.append(ET.XML('<link type="text/css" href="main.css" rel="stylesheet" />'))
>>> html.head.title = html.head.find('title')
>>> html.head.title.text
'Hi'
Вторую часть можно завершить, создав объекты Element, но вам нужно будет проделать некоторую работу, чтобы все произошло так, как вы действительно хотите:
>>> html.body = html.find('body')
>>> my_h1 = ET.Element('h1', {'class': 'roflol'})
>>> my_h1.text = 'BIG TITLE!12'
>>> html.body.append(my_h1)
>>> html.body.SOURCE = ET.tostring(html.body)
>>> html.body.SOURCE
'<body><h1 class="roflol">BIG TITLE!12</h1></body>'
Вы можете создать таблицу стилей
ваша собственная функция:
>>> def stylesheet(href='', type='text/css', rel='stylesheet', **kwargs):
... elem = ET.Element('link', href=href, type=type, rel=rel)
... return elem
...
>>> html.head.append(stylesheet(href="main.css"))
И весь документ:
>>> ET.tostring(html)
<html><head><title>Hi</title><link href="main.css" rel="stylesheet" type="text/css" /></head><body><h1 class="roflol">BIG TITLE!12</h1></body></html>
Но я думаю, что если вы собираетесь написать свою собственную вещь, это хорошее место для начала. ElementTree очень мощный.
Edit: Я понимаю, что это, вероятно, не совсем то, что вы ' повторно ищем. Я просто хотел предложить что-то в качестве доступной альтернативы, а также доказать, что это действительно можно сделать без особых усилий.
Amara Bindery предоставляет самый лучший Pythonic XML API, который я когда-либо видел. См. Краткий справочник , руководство и часто задаваемые вопросы