Найти строку замены в файле XML с Python - PullRequest
0 голосов
/ 18 октября 2011

Я пытаюсь заменить строку в xml-файле на python. Например:

Я хочу изменить включено на отключено в:

<s:global-method-security secured-annotations="enabled"/>

Лучше ли искать и заменять всю строку? Или есть способ просто заменить включенный на линии, если я найду строку, которая соответствует?

Ответы [ 2 ]

3 голосов
/ 18 октября 2011

Простой способ может быть следующим:

for line in fileh:
    line = line.replace("enabled", "disabled")
    ouf.write(line)

Вам не нужно явно находить "enabled" в строке перед его заменой.

Однако, поскольку это xml-файл, япредложил бы использовать парсер xml для его изменения.

1 голос
/ 18 октября 2011

Просто используйте string.replace():

for line in whateverXMLText.splitlines(): # or whatever arbitrary loop
    if line.find("enabled") > -1:
        print "Replacing 'enabled' on line: %s" % line
        line.replace("enabled", "disabled")

Однако лучшим решением может быть использование синтаксического анализатора xml (xml.dom.minidom) и изменение атрибута во время синтаксического анализа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...