1

SO のこの回答に基づいて、python で POST メッセージを送信しました。これが完了すると、Web サイトから次のような XML 表現が得られます。

<status>Active</status>
<registeredname>MyTestName</registeredname>
<companyname>TEST</companyname>
<email>mytestemail@gmail.com</email>
<serviceid>8</serviceid>
<productid>1</productid>
<productname>Some Test Product</productname>
<regdate>2013-08-06</regdate>
<nextduedate>0000-00-00</nextduedate>
<billingcycle>One Time</billingcycle>
<validdomain>testing</validdomain>
<validip>XX.XX.XXX.XX</validip>
<validdirectory>/root</validdirectory>
<configoptions></configoptions>
<customfields></customfields>
<addons></addons>
<md5hash>58z9f70a9d738a98b18d0bf4304ac0c6</md5hash>

ここで、これを次の形式の python 辞書に変換したいと思います。

{"status": "Active", "registeredname": "MyTestName".......}

移植しようとしている対応する PHP コードには、次のようなものがあります。

preg_match_all('/<(.*?)>([^<]+)<\/\\1>/i', $data, $matches);

私の対応するPythonコードは次のとおりです。

matches = {}
matches = re.findall('/<(.*?)>([^<]+)<\/\\1>/i', data)

「データ」は、サーバーから受け取る XML 表現です。これを実行すると、「一致」辞書は空のままです。正規表現ステートメントに何か問題がありますか? re.findallそれとも、そもそも使い方が間違っていますか?

前もって感謝します

4

1 に答える 1