---
slug: "build-xml-via-xml-etree-elementtree"
title: "Python で XML を作って Post する"
description: "GoAccess を使って、古い解析ツール (Webalizer / Analog) から Apache / nginx のアクセスログ解析を置き換える設定例とサンプル出力。"
url: "https://www.ytyng.com/blog/build-xml-via-xml-etree-elementtree"
publish_date: "2021-10-10T09:45:45Z"
created: "2021-10-10T09:45:45Z"
updated: "2026-05-11T13:21:32.727Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/78b059ee156744eea8ad6b186bcabef2.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# Python で XML を作って Post する

<p>Python で XML を作って Post する</p>
<p></p>
<pre>from xml.etree import ElementTree<br /><br />request_xml = ElementTree.Element(<span>'request'</span>)<br />update_request = ElementTree.SubElement(<br />    request_xml, <span>'itemUpdateRequest'</span>)<br />item = ElementTree.SubElement(update_request, <span>'item'</span>)<br />ElementTree.SubElement(item, <span>'itemUrl'</span>).text = itemUrl<br /><br /><span>for </span>key, value <span>in </span>updateData.items():<br />    ElementTree.SubElement(item, key).text = value<br /><br />response = <span>self</span>.request(<br />    <span>'/es/1.0/item/update'</span>,<br />    <span>method</span>=<span>'post'</span>,<br />    <span>headers</span>={<span>'Content-Type'</span>: <span>'application/xml'</span>},<br />    <span>data</span>=ElementTree.tostring(<br />        request_xml, <span>encoding</span>=<span>'utf-8'</span>, <span>xml_declaration</span>=<span>True</span>)<br />)</pre>
