package org.nutz.lang.util; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.util.List; import java.util.Map; import org.junit.Assert; import org.junit.Test; import org.nutz.lang.Xmls; import org.w3c.dom.Document; import org.w3c.dom.Element; public class XmlsTest extends Assert { @Test public void test_two_child(){ InputStream ins = getClass().getResourceAsStream("abc.xml"); Element element = Xmls.xml(ins).getDocumentElement(); Element returnsms = Xmls.getEle(element, "//returnsms"); List<Element> statusboxList = Xmls.children(returnsms); for (int i = 0; i < statusboxList.size(); i++) { Element statusbox = statusboxList.get(i); assertEquals(""+(i+1), statusbox.getAttribute("id")); Element ele = Xmls.getEle(statusbox, "./mobile"); assertEquals(""+(i+1)+"-1", ele.getAttribute("id")); System.out.println(Xmls.getText(ele)); } List<Element> mobiles = Xmls.getEles(element, "//mobile"); assertEquals(2, mobiles.size()); assertEquals("18600321144", mobiles.get(1).getTextContent()); } @Test public void testAsMap() { String xmlStr = "<root><name>wendal</name><age>29</age><skills><java>good</java><lua>ok</lua></skills></root>"; Document doc = Xmls.xml(new ByteArrayInputStream(xmlStr.getBytes())); Element root = doc.getDocumentElement(); Map<String, Object> map = Xmls.asMap(root); assertEquals("wendal", map.get("name").toString()); } }