[
Lists Home |
Date Index |
Thread Index
]
Elliotte Rusty Harold [mailto:elharo@metalab.unc.edu] 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
|