我有以下字符串(它不是来自一个文件:它来自DB):一个XML字符串解析没有解析器工具
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<person name="dave">
<job>teacher</job>
<job>musician</job>
</person>
<person name="chris">
<job>farmer</job>
</person>
</root>
当然,例如简化。
我必须用基本字符串函数“手动”解析它(例如:我不能使用XML解析器)。
我创建一个HashMap:
HashMap<String,ArrayList> personsAndJobs = new HashMap<String,ArrayList>
但是,我不能找到一个很好的算法,可以存储数据是这样的:
for each "person" tag {
// put the "name" attribute in a HashMap
personsAndJobs.put(person.get("name"),null)
jobs = new ArrayList<String>();
for each "job" of that person{
jobs.add(job.getTagContent())
}
personsAndJobs.put(person.get("name"),jobs)
}
这是我想要的alogrithm落实到位。
任何人都可以帮助我将该算法转换成Java?
谢谢, 问候。
为什么要求不使用xml解析器?除非你只是为了教育,否则不需要重新发明轮子。 – 2011-12-22 21:06:46
另外,您可以使用内置的Java XML解析器,因此,如果“外部”解析器出现问题,则可以避免它,因为它使用与JVM捆绑在一起的解析器。 – Michael 2011-12-22 21:13:01
我不明白为什么你不能使用XML解析器?这是一项功课吗? – 2011-12-22 21:14:18