我们从Python开源项目中,提取了以下12个代码示例,用于说明如何使用utils.parse_xml_data()。
def parse(stream): """Parse a stream containing XML into an ``InputDefinition``. :param stream: stream containing XML to parse. :return: definition: an ``InputDefinition`` object. """ definition = InputDefinition() # parse XML from the stream, then get the root node root = ET.parse(stream).getroot() for node in root: if node.tag == "configuration": # get config for each stanza definition.inputs = parse_xml_data(node, "stanza") else: definition.metadata[node.tag] = node.text return definition
def parse(stream): """Creates a ``ValidationDefinition`` from a provided stream containing XML. The XML typically will look like this: ``<items>`` `` <server_host>myHost</server_host>`` `` <server_uri>https://127.0.0.1:8089</server_uri>`` `` <session_key>123102983109283019283</session_key>`` `` <checkpoint_dir>/opt/splunk/var/lib/splunk/modinputs</checkpoint_dir>`` `` <item name="myScheme">`` `` <param name="param1">value1</param>`` `` <param_list name="param2">`` `` <value>value2</value>`` `` <value>value3</value>`` `` <value>value4</value>`` `` </param_list>`` `` </item>`` ``</items>`` :param stream: ``Stream`` containing XML to parse. :return definition: A ``ValidationDefinition`` object. """ definition = ValidationDefinition() # parse XML from the stream, then get the root node root = ET.parse(stream).getroot() for node in root: # lone item node if node.tag == "item": # name from item node definition.metadata["name"] = node.get("name") definition.parameters = parse_xml_data(node, "") else: # Store anything else in metadata definition.metadata[node.tag] = node.text return definition