Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从python服务器上的数据输入处理xml的简单方法_Python_Xml_Cherrypy_Genshi - Fatal编程技术网

从python服务器上的数据输入处理xml的简单方法

从python服务器上的数据输入处理xml的简单方法,python,xml,cherrypy,genshi,Python,Xml,Cherrypy,Genshi,我刚刚启动了一个应该使用pythonicsimpleweb服务器的项目,我只需要一个配置页面就可以从用户那里获取150多个字段中的数据,然后将所有这些数据字段+数据转换成xml文件并发送到另一个python模块。所以问题是-处理这个问题的简单方法是什么? 我找到了cherryPyas Web服务器和Genshias xml解析器,但我甚至不知道如何将它们结合起来,因为我知道Genshi提供了模板甚至xml用于发布,但如何以xml格式转换数据。我有红樱桃和根石教程,但它与我真正需要的有点不同,而且

我刚刚启动了一个应该使用pythonicsimpleweb服务器的项目,我只需要一个配置页面就可以从用户那里获取150多个字段中的数据,然后将所有这些数据字段+数据转换成xml文件并发送到另一个python模块。所以问题是-处理这个问题的简单方法是什么? 我找到了cherryPyas Web服务器和Genshias xml解析器,但我甚至不知道如何将它们结合起来,因为我知道Genshi提供了模板甚至xml用于发布,但如何以xml格式转换数据。我有红樱桃和根石教程,但它与我真正需要的有点不同,而且我在蟒蛇和网络方面不是很强,尤其是现在,要想找到正确的方向。 如果你能给我看任何这样的例子来理解这个概念,那就太好了

对不起我的英语


提前感谢。

Python附带了方便的xml.etree,您不需要额外的依赖项来输出简单的xml。下面是一个例子

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import xml.etree.cElementTree as etree

import cherrypy


config = {
  'global' : {
    'server.socket_host' : '127.0.0.1',
    'server.socket_port' : 8080,
    'server.thread_pool' : 8
  }
}


class App:

  @cherrypy.expose
  def index(self):
    return '''<!DOCTYPE html>
      <html>
      <body>
        <form action="/getxml" method="post">
          <input type="text" name="key1" placeholder="Key 1" /><br/>
          <input type="text" name="key2" placeholder="Key 2" /><br/>
          <input type="text" name="key3" placeholder="Key 3" /><br/>
          <select name="key4">
            <option value="1">Value 1</option>
            <option value="2">Value 2</option>
            <option value="3">Value 3</option>
            <option value="4">Value 4</option>
          </select><br/>
          <button type="submit">Get XML</button>
        </form>
      </body>
      </html>
    '''

  @cherrypy.expose
  def getxml(self, **kwargs):
    root = etree.Element('form')
    for k, v in kwargs.items():
      etree.SubElement(root, k).text = v

    cherrypy.response.headers['content-type'] = 'text/xml'
    return etree.tostring(root, encoding = 'utf-8')


if __name__ == '__main__':
  cherrypy.quickstart(App(), '/', config)