XML格式字符串的解析
现在要实现这样一个功能,接受一个XML格式的字符串,获取其中的用户信息,根据这个用户信息,查询该用户,所提出的问题信息中已经解决,解决中,未解决的个数,及该用户所提出的建议中,已经解决,未解决的个数,然后将这些数据再写成XML格式字符串返回。如下:1.<?xml vesion="1.0" endingcoding=""utf-8?><Request><Account>001</Account></Request>
程序从维护助手工具接收到如上的XML格式的字符串,如何解析出来得到这个用户信息001呢?
2.通过001我查询到001这个用户提出问题的各种解决状态的个数,及建议的各种解决状态的个数,都是分散开来的一个个数据,如何将一系列数据写成XML格式的字符串呢?是先将这些个数封装成实体类还是怎样之后再写成如下的XML格式字符串?
<?xml vesion="1.0" endingcoding=""utf-8?>
<Response>
<Question Unsolved="1" Solving="2" solved="2"/>
<Suggestion Unsolved="2" Solving="2" solved="1"/>
</Response>
求各位大侠指教啊,我没有做过类似的XML解析功能,而且如何将查询到的问题建议等已解决,未解决,解决中的的个数,这些独立存在的数据弄成如上XML形式啊? --------------------编程问答-------------------- dom4j或sax是xml操作组件,网上有很多例子,获取节点的子节点、节点组装为xml dom之类的。
如果不是要求很严格和xml字符串本身很简单的话,直接手动解析和拼接为xml格式的字符串就行了。 --------------------编程问答-------------------- 问题1:
method:
public static List parsexmlString(String xmlDoc) {
//创建一个新的字符串
StringReader read = new StringReader(xmlDoc);
//创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
InputSource source = new InputSource(read);
//创建一个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();
try {
//通过输入源构造一个Document
Document doc = sb.build(source);
//取的根元素
Element root = doc.getRootElement();
//System.out.println(root.getName());//输出根元素的名称(测试)
//得到根元素所有子元素的集合
List listChildren = root.getChildren();
return listChildren;
} catch (JDOMException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return null;
}
2:拼接字符串这个不要教吧?
查询结果list
中间部分 for循环
补充:Java , Web 开发