0

私はスクリプトにかなり不慣れなので、これについては本当にあなたの助けが必要です。私はこれを持っているすべての奇数行があるxmlファイルを持っています:

<![CDATA[<head>Wallpaper</head><body>1328758083110.jpg</body>]]></photo>

ヘッドタグの間にある「壁紙」の各部分を編集して、代わりに、各要素が改行で区切られているテキストファイルから取得したものを言うことができるようにしたいと思います。

かなり幅広い質問ですので、ご意見をいただければ幸いです。どこから始めればいいですか?

4

2 に答える 2

1

私があなたの質問を正しく理解していれば、この python スニペットは機能するはずです... XML ファイルで編集したい行があるのと同じ数の行がテキスト ファイルにあると仮定しています。編集したくない行に t を入力します。それ以外の場合は、別のものが必要になる場合があります。

inFile = open('mytextfile.txt','r')

myTextData = []
for line in inFile:
    myTextData.append(line.strip())
inFile.close()

inFile = open('myXMLfile.xml','r')
outFile = open('myFinishedXMLfile.xml','w')
currentItem = 0
for line in inFile:
    if 'Wallpaper' not in line:
        outFile.write(line)
    else:
        left = line.find('Wallpaper')
        right = left + 9    # Wallpaper is 9 characters
        outFile.write(line[:left])
        outFile.write(myTextData[currentItem])
        outFile.write(line[right:])
        currentItem += 1
inFile.close()
outFile.close()
于 2012-04-10T04:24:54.227 に答える
0
perl -i.bak -lpe'
    BEGIN { open $file, "<", "text-file-with-substitutions"; }
    if (/Wallpaper/) {
        chomp(my $subst = readline $file);
        s/Wallpaper/$subst/
    }
' xml-file-with-cdata
于 2012-04-10T08:37:55.410 に答える