1

Pythonスクリプトを介してツイートのリストを取得するWebアプリに取り組んでいます。emダッシュを含むツイートを取り込むと、XMLファイルを解析できません。

私のスクリプトは次のとおりです。

#! /usr/bin/python
import cgi
from peewee import *
from sql_connect import *
import sql_connect
import sys

xmlString = ""

# Create XML string
xmlString += "<TweetList>"

tweets = Tweet_Info.select()
for tweet in tweets:
    xmlString += "<Tweet>"
    xmlString += "<UserName>"
    xmlString += tweet.user
    xmlString += "</UserName>"
    xmlString += "<UserImage>"
    xmlString += tweet.user_image_url
    xmlString += "</UserImage>"
    xmlString += "<Text>"
    xmlString += tweet.text
    xmlString += "</Text>"
    xmlString += "</Tweet>"

xmlString += "</TweetList>"

# Print beginning xml stuff
print "Content-Type: text/xml"
print
print '<?xml version="1.0" encoding="UTF-8"?>' 
print xmlString

ブラウザにPythonスクリプトをロードすると、エラーが発生します。

XML Parsing Error: no element found
Location: http://localhost/cgi-bin/GetTweets2.py
Line Number 2, Column 1:

これに対する解決策はおそらくかなり簡単だと思います。xmlにさまざまなエンコードタイプを使用してみましたが、成功しませんでした。使用すべき特定のエンコーディングタイプはありますか?または、欠落している特殊文字を除外する簡単な方法はありますか?

4

1 に答える 1

0

XMLを生成する場合は、正しい方法で実行することをお勧めします。シリアル化するデータを保持するデータ構造を作成し、組み込みのPython機能を使用してそれをXMLに変換します。このアプローチには、エンコードエラーや奇妙な入力についてそれほど心配する必要がないという利点もあります。(ツイートにテキストが含まれている場合、現在のスクリプトで何が起こるかを考えてください</Text>。)

于 2012-12-13T20:45:25.117 に答える