用Java解析大型XML文件
我有一个具有10个属性的java对象。 3-4个属性来自XML文件 XML有一个元素,其中包含100-150个属性。 所以我需要解析整个XML文件(我没有XSD),找出3-4属性并检索它们的值 我需要关于使用哪种技术的建议,特别是JAXB在我的案例中是否起作用? 非常感谢您的帮助。是适用于此用例: 我有一个具有10个属性的java对象。其中3-4个属性来自 从XML文件 当使用JAXB映射到XML的对象不到一半时,我建议使用用Java解析大型XML文件,xml,jaxb,Xml,Jaxb,我有一个具有10个属性的java对象。 3-4个属性来自XML文件 XML有一个元素,其中包含100-150个属性。 所以我需要解析整个XML文件(我没有XSD),找出3-4属性并检索它们的值 我需要关于使用哪种技术的建议,特别是JAXB在我的案例中是否起作用? 非常感谢您的帮助。是适用于此用例: 我有一个具有10个属性的java对象。其中3-4个属性来自 从XML文件 当使用JAXB映射到XML的对象不到一半时,我建议使用@xmlacessortype(xmlacesstype.NONE)。这
@xmlacessortype(xmlacesstype.NONE)
。这告诉JAXB,只有显式注释的属性映射到XML
JAXB实现将使用StAX或SAX解析器来处理XML文档。这些解析器效率很高,不需要太多内存。形容词“大”与问题相关吗?如果是这样,我们需要知道有多大才是大。对于一些人来说,2Mb是很大的,其他人则意味着20Gb。您可以说XML“有一个具有100-150个属性的元素”。这是不明确的。这可能意味着XML只包含一个元素,该元素有100-150个属性。或者它可能意味着XML有许多元素,其中一个元素有100-150个属性。这个区别可能会对答案产生很大的影响。检查一下,@Michael:我的文件是1MB。该文件是关于单个设备的配置。它包含许多协议的描述。每个协议都有2-3个字段。我对2或3个协议的值感兴趣。感谢您的输入。我是一个新手,我不明白为什么我们需要一个解析器来处理XML文档?Jax-B的解组方法不能为我做到这一点吗?@user892871-您所需要的只是JAXB。我的意思是,JAXB(JSR-222)实现将使用较低级别的解析器来有效地处理任意大小的XML文档。