Probably too simple, but what stops you reading it as a text and change the name of the elements with simple string change? Why do you have to "know" that it is an XML doc to change e.g. a <TfrxReport> substring to <LazReport>?Yes, I have thought about that as well, but when I change the element name, I have to add a new child element with "ClassName=OldName". Doing that in a string seemed too much work.