[Home] [By Thread] [By Date] [Recent Entries]
Elliotte Rusty Harold [mailto:elharo@m...] wrote: > Atjun explained this to me last night at dinner, and I think I see > where he's coming from. The problematic ocnstruct is not this: > > element.InnerXml = "<tag>" + "content" + "</tag>"; > > It's this: > > element.InnerXml += "<tag>"; > element.InnerXml += "content"; > element.InnerXml += "</tag>"; > > Is this legal? Can you append parts of an element to InnerXML in > successive statements? I don't have a Windows development > environment handy to check. No, as Dan pointed out, this is not legal. InnerXml expects a legal XML fragment. IOW, the following is fine: person.InnerXml += "<name>Bob<name>"; person.InnerXml += "<age>33</age><phone>333-3333</phone>some text..."; person.InnerXml += "some more text..."; Each call simply parses out the XML fragment and appends the nodes to the node's children collection. If you set the property (instead of incrementing), then it overwrites the node's children collection. The implementation seems reasonable (ignoring the bug Dare pointed out), however, I agree that this use of the property is a little more troubling. -- Aaron Skonnard <http://skonnard.com>, DevelopMentor <http://develop.com> Essential XML Quick Reference available online in PDF format... <http://develop.com/books> History not used is nothing, for all intellectual life is action, like practical life, and if you don't use the stuff - well, it might as well be dead. - arnold toynbee
|

Cart



