当前位置:编程学习 > JAVA >>

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 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,