2014-09-21 4 views
0

Есть ли способ сделать следующее в lxml?LXML написать raw html

new_products_block_text = ''' 
      <product> 
       <territory>US</territory> 
       <cleared_for_sale>true</cleared_for_sale> 
      </product>''' 
product = etree.SubElement(video, "products") 
product.text = new_products_block_text 

В настоящее время он пишет об этом, она делает:

<products> 
      &lt;product&gt; 
      &lt;territory&gt;US&lt;/territory&gt; 
      &lt;cleared_for_sale&gt;true&lt;/cleared_for_sale&gt; 
</products> 

Как я пишу выше текст LXML без создания каждого элемента в отдельности в LXML?

ответ

1

Попробуйте это, если продукты пуст:

products.insert(0, etree.XML(new_products_block_text)) 

Или просто добавить к продуктам, в качестве последнего ребенка:

products.append(etree.XML(new_products_block_text)) 
+0

'product.html' вызывает следующее сообщение об ошибке:' AttributeError : Объект 'lxml.etree._Element' не имеет атрибута 'html'' – David542

+0

Да, моя ошибка, я все еще думал о element.html в DOM –

+0

Я пробовал оба из них, и оба они терпят неудачу: 'products = etree.SubElement (видео, «продукты») products.append (etree.XML (new_products_bl ock_text)) 'Любые идеи? – David542

Смежные вопросы