pydantic_ai.format_prompt
format_as_xml
format_as_xml(
    obj: Any,
    root_tag: str | None = None,
    item_tag: str = "item",
    none_str: str = "null",
    indent: str | None = "  ",
) -> str
Format a Python object as XML.
This is useful since LLMs often find it easier to read semi-structured data (e.g. examples) as XML, rather than JSON etc.
Supports: str, bytes, bytearray, bool, int, float, date, datetime, Mapping,
Iterable, dataclass, and BaseModel.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
                obj
             | 
            
                  Any
             | 
            
               Python Object to serialize to XML.  | 
            required | 
                root_tag
             | 
            
                  str | None
             | 
            
               Outer tag to wrap the XML in, use   | 
            
                  None
             | 
          
                item_tag
             | 
            
                  str
             | 
            
               Tag to use for each item in an iterable (e.g. list), this is overridden by the class name for dataclasses and Pydantic models.  | 
            
                  'item'
             | 
          
                none_str
             | 
            
                  str
             | 
            
               String to use for   | 
            
                  'null'
             | 
          
                indent
             | 
            
                  str | None
             | 
            
               Indentation string to use for pretty printing.  | 
            
                  '  '
             | 
          
Returns:
| Type | Description | 
|---|---|
                  str
             | 
            
               XML representation of the object.  | 
          
Example:
format_as_xml_example.py
            from pydantic_ai import format_as_xml
print(format_as_xml({'name': 'John', 'height': 6, 'weight': 200}, root_tag='user'))
'''
<user>
  <name>John</name>
  <height>6</height>
  <weight>200</weight>
</user>
'''
Source code in pydantic_ai_slim/pydantic_ai/format_prompt.py
              14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61  |  |