> For the complete documentation index, see [llms.txt](https://docs.macilib.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.macilib.org/docs/xml/functions/maci.xmlbuildmanual.md).

# maci.xmlbuildmanual

Calling this function will simply return the [ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html) module object to build out xml [Element](https://docs.python.org/3/library/xml.etree.elementtree.html) or [ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html#module-xml.etree.ElementTree) data manually. This function currently has no parameters.

{% hint style="info" %}
maci.xmlbuildmanual  ->  [ElementTree Module](https://docs.python.org/3/library/xml.etree.elementtree.html)
{% endhint %}

*Example getting* [*ElementTree Module*](https://docs.python.org/3/library/xml.etree.elementtree.html) *object and building out xml data using a person concept and dumping the data using* [*xmldump*](/docs/xml/functions/maci.xmldump.md)

```python
ET = maci.xmlbuildmanual()

root = ET.Element("person")

name = ET.SubElement(root, "name")
name.text = "John Doe"
age = ET.SubElement(root, "age")
age.text = "30"

tree = ET.ElementTree(root)

maci.xmldump('mydata.xml', tree)
```

In this example, we got the [ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html) module with the xmlbuildmanual function, and created a new [ElementTree](https://docs.python.org/3/library/xml.etree.elementtree.html) object structure to build out our data, assigned the final tree build to a variable, then dumped that data to a file.

Values for the sub-elements must be strings or None. <br>

More information on using Element and ElementTree data:\
Youtube Video Search: <https://www.youtube.com/results?search_query=python+xml+etree>\
Documentation: <https://docs.python.org/3/library/xml.etree.elementtree.html>

### partner functions

Functions that are related for ElementTree

[maci.xmlload](/docs/xml/functions/maci.xmlload.md)  ->  Loads xml data from a file as Element or ElementTree object\
[maci.xmlloadstr](/docs/xml/functions/maci.xmlloadstr.md)  ->  Loads xml data from a string as Element object\
[maci.xmldump](/docs/xml/functions/maci.xmldump.md)  ->  Dumps xml data to a file from xml etree ElementTree or Element object\
[maci.xmldumpstr](/docs/xml/functions/maci.xmldumpstr.md)  ->  Dumps xml data to a string from xml etree Element object\
[maci.\_defuse\_xml\_stdlib](/docs/xml/functions/maci._defuse_xml_stdlib.md)  ->  Monkey patch and defuse all stdlib packages \[security use]

*This function uses the native xml library etree shipped with the python standard library for its underlying functionality. For more information on the xml.etree api, visit:* [*https://docs.python.org/3/library/xml.etree.elementtree.html*](https://docs.python.org/3/library/xml.etree.elementtree.html)

**Security awareness**: It is important to evaluate handling XML data carefully as there are known vulnerabilities in dealing with XML data. Please refer to the official python documentation above.

Additionally, see the provided tooling to potentially assist with vulnerabilities [\_defuse\_xml\_stdlib](/docs/xml/functions/maci._defuse_xml_stdlib.md)
