On May 8, 4:46 pm, [EMAIL PROTECTED] wrote: > On May 8, 4:30 pm, Stefan Behnel <[EMAIL PROTECTED]> wrote: > > > > > > > [EMAIL PROTECTED] schrieb: > > > > Hi, > > > I need to replace a string in xml file with something else.Ex > > > > - <SERVICEPARAMETER id="_775" Semantics="subfunction" DDORef="_54"> > > > <SHORTNAME>rate</SHORTNAME> > > > <LONGNAME>rate</LONGNAME> > > > <VALUE role="constant" DataType="unsigned" value="1" /> > > > <BYTEPOSITION role="position" BytePos="1" /> > > > </SERVICEPARAMETER> > > > - <SERVICEPARAMETER id="_776" Semantics="localId" DDORef="_54"> > > > > Here i have opened an xml > > > file(small part is pasted here).I want to replace the word 'localId' > > > with 'dataPackageID' wherever it comes in xml file.I tried this but > > > didnt work: > > > > import sys > > > > file_input = raw_input("Enter The ODX File Path:") > > > input_xml = open(file_input,'r') > > > This should say > > > input_xml = open(file_input,'r').read() > > > > input_xml.replace('localId','dataPackageId') > > > This gives error ---> AttributeError: 'file' > > > object has no attribute 'replace' > > > Can someone help me . > > > Thanks > > > Stefan- Hide quoted text - > > > - Show quoted text - > > There is no error now,but the string is not being replaced,It remains > the same,should we save the opened file or something- Hide quoted text - > > - Show quoted text -
HI, Thanks for the reply.that seems to work,but i was doing this so as to attach it to a bigger code where it will be utilised before a parsing. #Input file and Output file path from user file_input = raw_input("Enter The ODX File Path:") (shortname,ext)=os.path.splitext(file_input) f_open_out=shortname+".ini" log=shortname+".xls" test_file=shortname+"testxml.xml" saveout = sys.stdout input_xml = open(file_input,'r') xmlcont=input_xml.read() xmlcont=xmlcont.replace('localId','dataPackageId') output_file = open(test_file,"w") output_file.write(xmlcont) output_file.close() f_open=open(f_open_out, 'w') logfile=open(log,"w") sys.stdout = f_open #Parse the input file,and check for correct ODX version xmldoc = minidom.parse(input_xml) I am opening 2 more files in addition to the file where the new xml goes.One file is written using the sys.stdout command as most of the output has to go there printing takes place in many places (so cant use f_open.write) each time. When i attach the part of replacing the string 'localid' in xml file with something else as given above with xmlcont=xmlcont.replace('localId','dataPackageId') the code does not run and hangs.Can more than 3 files be opened at a time .I dotn know what the problem is here. Thanks -- http://mail.python.org/mailman/listinfo/python-list