2016-03-21 1 views
0

Получения атрибута ID и обновления его значенияполучения значение атрибута обновляется путем удаления специальных символов с помощью LXML

for elem in doc.xpath('//@id',namespaces={'leg':'http://www.lexis-nexis.com/glp/leg'}): 
       s = str(elem) 
       replaced = re.sub(r'([^a-zA-Z0-9\.\_])','',s) 
       elem=replaced 

Я получаю обновленное значение стоимости не заменить, но эль не обновляются ни XML, в котором я пишу это значение ,

ответ

1

Вы можете перебирать элементы, которые имеют id атрибуты вместо этого, а затем обновить значение атрибута, например, так:

for elem in doc.xpath('//*[@id]', namespaces={'leg':'http://www.lexis-nexis.com/glp/leg'}): 
    elem.attrib['id'] = re.sub(r'([^a-zA-Z0-9\.\_])', '', elem.attrib['id']) 

# don't forget to write changes back to the disk if necessary 
+0

Спасибо большое .I есть вопрос, когда я был с помощью XPath // @ идентификатор, чем я получал какой-то объект, отличный от типа элемента? этот тип объекта отличается от того, почему у меня была эта проблема. –