Вы можете использовать inline-block
как @ user473598, но остерегайтесь старых браузеров.
/* Your're working with */
display: inline-block;
/* For IE 7 */
zoom: 1;
*display: inline;
/* For Mozilla Firefox < 3.0 */
display:-moz-inline-stack;
Mozilla вообще не поддерживает встроенный блок, но у них есть -moz-inline-stack
, что примерно одинаково
Некоторые кросс-браузерные атрибуты отображения inline-block
: https: //css-tricks.com/snippets/css/cross-browser-inline-block/
Вы можете увидеть некоторые тесты с этим атрибутом в: https://robertnyman.com/ 2010/02/24 / CSS-дисплей-встроенный блок-почему-It-камни-и-почему-то-отстой /
Google App Engine позволяет писать веб-службы, возвращающие любой тип содержимого ответа HTTP. Сюда входят xml, json, text и т. Д.
Например, взгляните на образец проекта гостевой книги , предложенный Google, который показывает ответ HTTP, возвращающийся как text / plain:
public class GuestbookServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user != null) {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, " + user.getNickname());
} else {
resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));
}
}
}
Кроме того, группа Google по движку приложений - отличное место, где можно узнать больше, задать вопросы и посмотреть примеры кода.
Большинство приложений python просто пишут обработчик, который напрямую выводит сформированный xml ... этот пример обслуживает любые запросы GET, отправленные на корневой URL ("/"):
import wsgiref.handlers
from google.appengine.ext import webapp
class MainHandler(webapp.RequestHandler):
def get(self):
self.response.out.write('<myXml><node id=1 /></myXml>')
def main():
application = webapp.WSGIApplication([('/', MainHandler)],
debug=True)
wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
main()
Определенно возможно (и не слишком сложно) использовать GAE для размещения «веб-сервисов, которые обмениваются данными по http и принимают / возвращают xml».
Для анализа XML-запросов (предположительно входящих как тело запросов HTTP POST или PUT), у вас есть несколько вариантов, например pyexpat или minidom поверх него, см. этот поток , например (особенно последний пост в нем).
Если хотите , вы также можете использовать minidom для создания ответа XML и записать его обратно (например, используя экземпляр StringIO
для хранения отформатированного ответа и его метод write
в качестве аргумент к методу writexml
вашего экземпляра minidom, затем развернув его и используя getvalue
этого экземпляра, чтобы получить необходимый результат в виде строки). Хотя ты