私はpythonとxmlの構文解析を行うnewbですので、私は20時間以上の長い時間をかけてフォーラムを見つけ、 m後。私が見たスレッドのほとんどは私の問題のための解決策を持っていましたが、それらは日付がついていて、Pythonのバージョンが違うので使用できません。彼らは私が試してみるとうまくいかなかった。私が何をしたいかPython 3.5 minidom経由でxmlを書くことができません
:
- が解析XMLに
- を、その内容を変更し、特定の条件に基づいて、新しいXMLのフォーマットとして、これらの変更で全体のxmlアウト
- リライトは
私が使っていること:
- のpython 3.5
- minidomとのTkinterモジュール
ここでは、新しいXMLを書き込むしようとしたとき、私は取得していますエラーです:
this_xml.write(OFILE)
はAttributeError: '文書'オブジェクトには「書き込み」属性がありません
私はElementTreeとlxmlを試しましたが、私はminidomで最も進歩しました。私はそこに私はここでやっている愚かな呼び出しのだトンと確信している
import tkinter
from tkinter import *
from tkinter import messagebox
from tkinter import filedialog
from xml.dom.minidom import parse
import xml
import os
import xml.dom.minidom
root = Tk()
root.withdraw()
file_path = filedialog.askopenfilename(filetypes=[("XML",".xml")])
filename, file_extension = os.path.splitext(os.path.basename(file_path))
if file_extension ==".xml":
OutputFileName = filename[:-2] + "VS_" + filename[-2:] + "_NEW" + file_extension
this_xml = xml.dom.minidom.parse(file_path)
xml_contents = this_xml.documentElement
#do stuff
ofile = open(OutputFileName, 'wb')
this_xml.write(ofile)
#xml_contents.write(ofile)
:ここ
は(私が思う)適切なコードです。 #doの部分では、特定のノードデータを読み込み、変更して結果を出力しています。印刷物は見栄えが良いですが、今はそのような変更を形にすることができません。
私はpython 2.7(これまでのチュートリアル/チュートリアル/例のほとんどがベースになっています)に戻す前に、私は何か助けに感謝します。
第1に、Python 3と一緒にPython 2をインストールすることができます。したがって、Python 2用の例が書かれていれば、Python 2でそれらを試してはいけないという言い訳はありません。 -トピック。あなたは、あなたが知っているはずの最小限の例を抽出した後で、「ここ(私は思う)は...だ」と書いてはいけません。誰でも気にしてコードを取り出して再現できるはずです。 –