issues_to_xml_str
- negmas.outcomes.issues_to_xml_str(issues)[source]
Converts the list of issues into a well-formed xml string.
- Return type:
Examples
>>> issues = [ ... make_issue(values=10, name="i1"), ... make_issue(values=["a", "b", "c"], name="i2"), ... make_issue(values=(2.5, 3.5), name="i3"), ... ] >>> s = issues_to_xml_str(issues) >>> print(s.strip()) <negotiation_template> <utility_space number_of_issues="3"> <objective description="" etype="objective" index="0" name="root" type="objective"> <issue etype="discrete" index="1" name="i1" type="discrete" vtype="integer"> <item index="1" value="0" cost="0" description="0"> </item> <item index="2" value="1" cost="0" description="1"> </item> <item index="3" value="2" cost="0" description="2"> </item> <item index="4" value="3" cost="0" description="3"> </item> <item index="5" value="4" cost="0" description="4"> </item> <item index="6" value="5" cost="0" description="5"> </item> <item index="7" value="6" cost="0" description="6"> </item> <item index="8" value="7" cost="0" description="7"> </item> <item index="9" value="8" cost="0" description="8"> </item> <item index="10" value="9" cost="0" description="9"> </item> </issue> <issue etype="discrete" index="2" name="i2" type="discrete" vtype="discrete"> <item index="1" value="a" cost="0" description="a"> </item> <item index="2" value="b" cost="0" description="b"> </item> <item index="3" value="c" cost="0" description="c"> </item> </issue> <issue etype="real" index="3" name="i3" type="real" vtype="real"> <range lowerbound="2.5" upperbound="3.5"></range> </issue> </objective> </utility_space> </negotiation_template>
>>> issues2, _ = issues_from_xml_str(s) >>> print([_.__class__.__name__ for _ in issues2]) ['CategoricalIssue', 'CategoricalIssue', 'ContinuousIssue']
>>> print(len(issues2)) 3 >>> print([str(_) for _ in issues2]) ["i1: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']", "i2: ['a', 'b', 'c']", 'i3: (2.5, 3.5)'] >>> print([_.values for _ in issues2]) [['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'], ['a', 'b', 'c'], (2.5, 3.5)]