简体   繁体   English

将XML解析为Java列表

[英]Parsing XML to Java List

I want to parse below xml file which has huge data, Here is my xml. 我想解析具有大量数据的xml文件,这是我的xml。

what is the best way to parse from XML to java List? 从XML解析到Java List的最佳方法是什么? can i use SAXParser for parsing the XML or any other efficient way? 可以使用SAXParser解析XML或任何其他有效方式吗? I expect , i would have data more than 1 million. 我希望,我的数据将超过100万。

<root>
    <Company>
        <name>TATA</name>
        <Location>
          <id>1</id>
          <name>India</name>
            <branchesList>
                <branches>
                <name>Chennai</name>
                <id>Ch-1</id>
                <status>Active</status>
            </branches>
            <branches>
                <name>Hyderabad</name>
                <id>Hy-1</id>
            <status>In-Active</status>
            </branches>
            <branches>
                <name>Delhi</name>
                <id>De-1</id>
                <status>Active</status>
            </branches>
        </branchesList>
        </Location>
         <Location>
          <id>1</id>
          <name>USA</name>
            <branchesList>
                <branches>
                <name>NewYork</name>
                <id>Nw-1</id>
                <status>Active</status>
            </branches>
            <branches>
                <name>NewJersy</name>
                <id>Ne-1</id>
            <status>In-Active</status>
            </branches>
            <branches>
                <name>Denver</name>
                <id>De-1</id>
                <status>Active</status>
            </branches>
        </branchesList>
        </Location>
      </Company>

    </root>

I would suggest you look at this answer. 我建议你看看这个答案。

It recommends using SAXParser for big XMLs. 对于大型XML,建议使用SAXParser。

As of having 1 million + Strings in a list in java, in principle there is no issue. 从Java列表中的一百万+字符串开始,原则上没有问题。 You could have as many as Integer.MAX_VALUE-5 iirc. 您可能有多达Integer.MAX_VALUE-5 iirc。

Documentation for SAXParser is here and is quite complete. SAXParser的文档在这里并且非常完整。 You should have no issue taking the elements you want and putting them in a list. 将所需的元素放入列表中应该没有问题。

Finally, if you want to have more than a simple list of strings in memory, I would look at other collections like Dictionary . 最后,如果您希望在内存中不只是一个简单的字符串列表,我将查看其他集合,例如Dictionary

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM