mirinda95925 2010-07-08 10:53
浏览 213
已采纳

解析xml

[code="java"]

<!--

/软件界面的配置/

-->



<!-- 软件标题 -->

通信
<!-- 每行排版的个数 -->

5
<!-- 软件的长和宽 -->

800
600
<!-- 按钮间隔-->

100

<!-- 

/通信客户端/

-->  

<client-config>
                <!-- 客户端的个数 -->  
           <clientNum>48</clientNum>
                <!-- 通信客户端的详细列表 -->  
             <clientVideo>
                          <client>
                            <clientName>0部门</clientName>
                            <clientNo>0(号码)</clientNo>  
                          </client>
                          <client>
                            <clientName>1部门</clientName>
                            <clientNo>1(号码)</clientNo>  
                          </client>
          </clientVideo>



[/code]

我想把里面的值解析出来放到一个map中。请教各位代码改如何写~

  • 写回答

1条回答 默认 最新

  • langxiashahai 2010-07-08 11:30
    关注

    public class Value_config {
    Panel_config panelConfig;
    Client_config clientConfig;
    public Panel_config getPanelConfig() {
    return panelConfig;
    }
    public void setPanelConfig(Panel_config panelConfig) {
    this.panelConfig = panelConfig;
    }
    public Client_config getClientConfig() {
    return clientConfig;
    }
    public void setClientConfig(Client_config clientConfig) {
    this.clientConfig = clientConfig;
    }
    }

    public class Panel_config {
    String title;
    int column;
    int width;
    int height;
    int button;
    public String getTitle() {
    return title;
    }
    public void setTitle(String title) {
    this.title = title;
    }
    public int getColumn() {
    return column;
    }
    public void setColumn(int column) {
    this.column = column;
    }
    public int getWidth() {
    return width;
    }
    public void setWidth(int width) {
    this.width = width;
    }
    public int getHeight() {
    return height;
    }
    public void setHeight(int height) {
    this.height = height;
    }
    public int getButton() {
    return button;
    }
    public void setButton(int button) {
    this.button = button;
    }

    }

    public class Client_config {
    int clientNum;
    ClientVideo clientVideo;
    public int getClientNum() {
    return clientNum;
    }
    public void setClientNum(int clientNum) {
    this.clientNum = clientNum;
    }
    public ClientVideo getClientVideo() {
    return clientVideo;
    }
    public void setClientVideo(ClientVideo clientVideo) {
    this.clientVideo = clientVideo;
    }

    }

    public class ClientVideo {
    List list;

    public List<Client> getList() {
        return list;
    }
    
    public void setList(List<Client> list) {
        this.list = list;
    }
    

    }

    public class Client {
    String clientName;
    String clientNo;
    public String getClientName() {
    return clientName;
    }
    public void setClientName(String clientName) {
    this.clientName = clientName;
    }
    public String getClientNo() {
    return clientNo;
    }
    public void setClientNo(String clientNo) {
    this.clientNo = clientNo;
    }

    }

    public class ParserXml {
    public static List parser(){
    List list = new ArrayList();
    try {
    Document doc = new SAXBuilder().build("c:\a.xml");
    Element rootEle = doc.getRootElement();
    List listurl = XPath.selectNodes(rootEle, "//value-config/panel-config");
    Value_config value_config = new Value_config();
    if (null != listurl) {
    for (Iterator iter = listurl.iterator(); iter.hasNext();) {
    Panel_config obj = new Panel_config();
    Element objElement = (Element) iter.next();
    obj.setTitle(objElement.getChildTextTrim("title"));
    //.....................
    value_config.setPanelConfig(obj);
    }
    }
    } catch (JDOMException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    return list;
    }
    }

    public class Test {
    public static void main(String[] args) {
    List list = ParserXml.parser();
    }
    }

    基本上代码都有了,剩下的你完善完善就好了。用jdom解析xml,供参考。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?