Umlaute und QDomDocument
Verfasst: Freitag 22. Oktober 2010, 09:52
Hallo zusammen,
ich komm nicht drauf wie ich eine Eingaben mit Umlauten sauber in mein XML schreiben kann:
Anbei ein lauffähigen Schnippsel der mein Problem verdeutlicht.
Wo muss ich drehen das die Umlaute sauber verarbeitet werden ?
Grüße
ich komm nicht drauf wie ich eine Eingaben mit Umlauten sauber in mein XML schreiben kann:
Anbei ein lauffähigen Schnippsel der mein Problem verdeutlicht.
Code: Alles auswählen
# -*- coding: UTF-8 -*-
from __future__ import unicode_literals
from PyQt4.Qt import Qt
from PyQt4.QtGui import (QProgressBar, QSpinBox,
QDialog, QApplication,
QMainWindow, QLineEdit,
QRegExpValidator, QLabel,
QHBoxLayout, QWidget,
QInputDialog, QCommandLinkButton,
QTextEdit, QPushButton,
QFileDialog)
from PyQt4.QtCore import (QProcess, SIGNAL,
QString,QStringList,
QRegExp, QVariant)
from PyQt4.QtXml import QDomDocument
import sys
class Dialog(QInputDialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
class Test(QMainWindow):
def __init__(self, parent = None):
super(Test, self).__init__(parent)
self.widget = QWidget()
self.layout = QHBoxLayout(self.widget)
self.setCentralWidget(self.widget)
self.textEdit = QTextEdit(self)
self.label = QLabel(self)
self.pushButton = QPushButton(u"Eingabe", self)
self.layout.addWidget(self.pushButton)
self.layout.addWidget(self.label)
self.layout.addWidget(self.textEdit)
self.connect(self.pushButton, SIGNAL(u"released()"), self.check)
def check(self):
item, ok = QInputDialog.getText(self, u"Eingabe", u"Eingabe")
# self.fileOpenDialog = QFileDialog(self)
# self.fileOpenDialog.exec_()
# for item in self.fileOpenDialog.selectedFiles():
self.textEdit.setPlainText(self.newScenarioXml(item))
def newScenarioXml(self, name):
xmlString = u"<?xml version='1.0' encoding='UTF-8'?> \
<!DOCTYPE TEST> \
<TEST VERSION='1.0'> \
<scenario name='%s' activTab=''> \
<tab name='tab_1'></tab> \
<tab name='tab_2'></tab> \
</scenario> \
</TEST>" % name
dom = QDomDocument()
print dom.setContent(xmlString)
return dom.toString(1)
if __name__ == '__main__':
app = QApplication(sys.argv)
t = Test()
t.show()
app.exec_()
Grüße