package Ġcom . sun uniq . util Ċ Ċ import Ġorg . junit . Test Ċ import Ġorg . w 3 c . dom . Element Ċ import Ġorg . w 3 c . dom . traversal . Document Traversal Ċ import Ġorg . w 3 c . dom . traversal . Node Filter Ċ import Ġorg . w 3 c . dom . traversal . Tree Walker Ċ Ċ class ĠXml UtilsTest Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġtarget Ġ= Ġ""" ĊĠĠĠĠĠĠĠ Ġ< select Ġid =" user Defined " Ġresult Type =" int "> ĊĠĠĠĠĠĠĠĠĠ Ġselect Ġ 1 ĊĠĠĠĠĠĠĠĠĠ Ġ< user Ġid = Ġ" 5 "> ĊĠĠĠĠĠĠĠĠĠ Ġ</ user > ĊĠĠĠĠĠĠĠ Ġ</ select > ĊĠĠĠ Ġ""" . trim Indent () ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Parse Single Xml () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġparse Xml ( target ) ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= Ġdocument . documentElement ĊĊĠĠĠĠĠĠĠ Ġroot . has Child Nodes (). println () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Tra verse () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġparse Xml ( getResource AsString (" yb atis . xml ")) ĊĠĠĠĠĠĠĠ Ġval Ġtraversal Ġ= Ġdocument Ġas ĠDocument Traversal ĊĠĠĠĠĠĠĠ Ġval Ġwalk er Ġ= Ġtraversal . create Tree Walker ( document . documentElement , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNode Filter . SHOW _ ELEMENT , Ġnull , Ġtrue ) ĊĊĠĠĠĠĠĠĠ Ġtraverse Level ( walker , Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtraverse Level ( walker : ĠTree Walker , Ġindent : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpare nd Ġ= Ġwalk er . currentNode ĊĠĠĠĠĠĠĠ Ġprintln ( indent Ġ+ Ġ"- Ġ" Ġ+ Ġ( pare nd Ġas ĠElement ). tagName ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġn Ġ= Ġwalk er . firstChild () ĊĠĠĠĠĠĠĠ Ġwhile Ġ( n Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtraverse Level ( walker , Ġindent Ġ+ Ġ'\ t ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn Ġ= Ġwalk er . next Sibling () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwalk er . currentNode Ġ= Ġpare nd ĊĠĠĠ Ġ} Ċ }