Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java解析大型XML文件_Xml_Jaxb - Fatal编程技术网

用Java解析大型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)。这

我有一个具有10个属性的java对象。 3-4个属性来自XML文件

XML有一个元素,其中包含100-150个属性。 所以我需要解析整个XML文件(我没有XSD),找出3-4属性并检索它们的值

我需要关于使用哪种技术的建议,特别是JAXB在我的案例中是否起作用? 非常感谢您的帮助。

是适用于此用例:

我有一个具有10个属性的java对象。其中3-4个属性来自 从XML文件

当使用JAXB映射到XML的对象不到一半时,我建议使用
@xmlacessortype(xmlacesstype.NONE)
。这告诉JAXB,只有显式注释的属性映射到XML

XML有一个元素,其中包含100-150个属性。所以我需要 解析我的整个XML文件(我没有XSD)并找出 3-4个属性并检索它们的值


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文档。