Like add_children, is there a solution for deletion of elements based on 
element value (elements with no attributes )

- name: Delete several beers with value
  xml:
    path: /foo/bar.xml
    xpath: /business/beers
    value: Old Rasputin
    state: absent

--------------------- Actually I am trying to delete an element in xml file 
with namespaces

On Monday, 22 April 2019 at 21:17:52 UTC+5:30 Aliaa Yusuf wrote:

>
> check this link it worked with me
> https://github.com/cmprescott/ansible-xml/issues/95
>
> بتاريخ الأربعاء، 28 مارس، 2018 7:26:14 ص UTC+2، كتب Uvindra Dias Jayasinha:
>>
>> Im using Ansible 2.5 on Ubuntu 17.10
>>
>> Given the following xml file
>>
>> <business>
>>   <beers>
>>   </beers>
>> </business>
>>
>>
>> Trying to add nested elements so that the file is changed to the 
>> following output fails.
>>
>> <business>
>>   <beers>
>>     <beer>
>>         <name>Old Rasputin</name>
>>         <year>2000</year>
>>     </beer>
>>   </beers>
>> </business>
>>
>>
>> Here is the playbook I used
>>
>> - name: Add several more beers with the year of manufacture nested
>>   xml:
>>     path: /foo/bar.xml
>>     xpath: /business/beers
>>     add_children:
>>     - beer: 
>>       - name: Old Rasputin
>>       - year: 2000
>>
>> I see the following exception,
>>
>> An exception occurred during task execution. To see the full traceback, use  
>>     -vvv. The error was: TypeError: Argument must be bytes or unicode, got 
>> 'list'
>> fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": 
>> "Traceback (most recent call last):\n  File 
>> \"/tmp/ansible_sv9JSC/ansible_module_xml.py\", 
>> line 860, in <module>\n    main()\n  File 
>> \"/tmp/ansible_sv9JSC/ansible_module_xml.py\", line 840, in main\n    
>> add_target_children(module, doc, xpath, namespaces, add_children, 
>> input_type)\n  File \"/tmp/ansible_sv9JSC/ansible_module_xml.py\", line 409, 
>> in add_target_children\n    
>> new_kids = children_to_nodes(module, children, in_type)\n  File 
>> \"/tmp/ansible_sv9JSC/ansible_module_xml.py\", line 651, in 
>> children_to_nodes\n    
>> return [child_to_element(module, child, type) for child in children]\n  File 
>> \"/tmp/ansible_sv9JSC/ansible_module_xml.py\", line 639, in 
>> child_to_element\n    
>> node.text = value\n  File \"src/lxml/etree.pyx\", line 1030, in 
>> lxml.etree._Element.text.__set__\n  File \"src/lxml/apihelpers.pxi\", line 
>> 716, in lxml.etree._setNodeText\n  
>> File \"src/lxml/apihelpers.pxi\", line 704, in lxml.etree._createTextNode\n  
>> File \"src/lxml/apihelpers.pxi\", line 1442, in lxml.etree._utf8\nTypeError: 
>> Argument must be bytes or unicode, got 'list'\n", 
>> "module_stdout": "", "msg": "MODULE FAILURE", "rc": 1}
>>
>> Is this supported or am I missing something here?
>>
>>
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/e0df767c-5944-4ac0-b960-f4f94c23204en%40googlegroups.com.

Reply via email to