Please print the dependency tree of a XML document and the level of each element in the XML. for examples:
<person id="0" name="james" title="manager">
<person id="1" name="alex">
<person id="2" name="flex">
<person id="3" name="cathy"/>
</person>
<person id="4" name="john"/>
</person>
</person>
The result will be:
james(0)
`-- alex(1)
|-- flex(2)
| `-- cathy(3)
`-- john(2)
You can use the 3rd-party library (eg. libxml2 or java) . Graphics interface is preferred.
<person id="0" name="james" title="manager">
<person id="1" name="alex">
<person id="2" name="flex">
<person id="3" name="cathy"/>
</person>
<person id="4" name="john"/>
</person>
</person>
The result will be:
james(0)
`-- alex(1)
|-- flex(2)
| `-- cathy(3)
`-- john(2)
You can use the 3rd-party library (eg. libxml2 or java) . Graphics interface is preferred.
解决方案 »
- 这个程序错在哪里?
- JACOB出现Can't co-create object,请教!!!
- 怎么将java源码转成EXE文件?
- 关于延时repatint()的问题
- 关于JAVA的图象处理,大家都来讨论一下!!!!!!!!!!!!!!!
- 问问大家 我想在JList中加入那种既有字符串,又有图片,就是说一个对象里有名字和图片,然后加入到JList中,可以吗?我不知道怎么做?谁
- 急急急急急!谁知道在java中如何得到一个字符的unicode编码??
- 在Frame 中如何加入图片!!!
- jpanel可见部份
- Java程序中如何执行系统命令?
- timer控制FTPClient对象上传下载文件的问题
- 我刚下了个JDK。请问如何将它嵌入到eclipse中
import java.util.List;import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class ParseXml {
public static int level = -1;
public static void print(int num){
for(int i=0;i<num;i++){
System.out.print(" ");
}
}
public static void parseElement(Element e,int level){
print(level);
System.out.println(e.getAttributeValue("name")+"("+e.getAttributeValue("id")+")");
List<Element> list = e.getChildren("person");
for(int i=0;i<list.size();i++){
Element ee = list.get(i);
parseElement(ee,level+1);
}
}
// 通过Jdom来实现解析
public static void parse(String xmlString) {
SAXBuilder builder = new SAXBuilder();
try {
//创建xml文档对象
Document doc = builder.build(new StringReader(xmlString));
//根节点
Element root = doc.getRootElement();
List<Element> personList = root.getChildren("person");
for(int i=0;i<personList.size();i++){
Element e = personList.get(i);
parseElement(e,level+1);
}
} catch (JDOMException e) {
e.printStackTrace();
}
} public static void main(String[] args) {
String xmlString = "<persons><person id='0' name='james' title='manager'>" +
"<person id='1' name='alex'>" +
"<person id='2' name='flex'>" +
"<person id='3' name='cathy'/>" +
"</person>" +
"<person id='4' name='john'/>" +
"</person>" +
"</person></persons>" ;
parse(xmlString);
}
}