1

您好,我正在使用 etree 来解析 xml 文件。我在解析 xml 文件时遇到问题。以下是详细信息。

<niktoscan .................................... >#don't want to remove this line
<scandetails>
data 
</scandetials>
<niktoscan ....................................> #line 1 to remove
<scandetails>
data
</scandetials>
 <niktoscan ....................................> #line 2 to remove
<scandetails>
data
</scandetials>
</niktoscan>

正如您在上面的代码中看到的,niktoscan 再次出现而没有结束标记。我想要的是删除开始和结束之间的 niktoscans 行,只留下第一个 niktoscan 标记。我很困惑如何删除 niktoscan 线。用python帮我解决这个问题。

4

1 回答 1

1

您可以使用它来解析您的文件:

with open('niktoscan.txt') as f:
    content = f.readlines()

foundone = False
print type(content)

cleanedContent = []
for line in content:
    print line

    foundnik = line.find('<niktoscan')
    if not (foundnik != -1 and foundone):
        cleanedContent.append(line)

    if foundnik != -1:
        foundone = True
print "\n\n ########### cleaned content ########### \n\n"

for line in cleanedContent:
    print line

然后你可以通过你的解析器把结果。

于 2013-06-04T06:37:52.433 回答