[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: use SAX to get "tree" under XML node
Will Johnson wrote: > for example in the following xml file... > > <fields> > <field1>value 1</field1> > <field2><style value="red"/><values>value 2</values></field2> > </fields> > > i want to be able to get the trigger on the element field2 and somehow > get back the string > > <style value="red"/><value1>value1</value1><value2>value > 2</value2></values> > > if i use a regular sax processor to get all the characters i end up > getting only the text which in this case would be "value 1 value 2" First, the contents of <field2> are: <style value="red"/><values>value 2</values> but you say that you want to get the following string back: <style value="red"/><value1>value1</value1><value2>value2</value2></values> I'll assume either your sample document is wrong or what you want to get back is wrong and what you're really saying is that you just want to get the content of a given element -- in this case <field2> -- serialized as XML. This is easy to do. All you need is two globals: boolean processingField2 StringBuffer field2Content You set processingField2 to true in startElement when you hit <field2> and to false in endElement when you hit </field2>. When processingField2 is true, you do the following: a) in startElement, append the element tag to the StringBuffer. For example: field2Content.append("<"); field2Content.append(qname); field2Content.append(...); // append attributes field2Content.append(">"); b) in characters and ignorableWhitespace, append the character values. c) in endElement, append the closing tag (similar to (a)) For more detailed code in answer to a similar question, see: http://lists.xml.org/archives/xml-dev/200111/msg00476.html How to generalize this is left as an exercise to the reader :) You might also be able to simplify things by using an XMLWriter class, such as that available from www.megginson.com. (I haven't looked at that class, so I'm not sure exactly how it works.) -- Ron
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|