Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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文件中获取特定元素_Java_Xml - Fatal编程技术网

Java 从xml文件中获取特定元素

Java 从xml文件中获取特定元素,java,xml,Java,Xml,假设我有两个xml文件。两者都包含一个特定的元素(比如“name”),但其中一个元素的位置与另一个xml文件不同 例: 第一个xml文件: <root> <element1>text1</element1> <element2> <name value="firstname">John</name> <element2> </root> <root> <element1

假设我有两个xml文件。两者都包含一个特定的元素(比如“name”),但其中一个元素的位置与另一个xml文件不同

例:

第一个xml文件:

<root>
 <element1>text1</element1>
 <element2>
  <name value="firstname">John</name>
 <element2>
</root>
<root>
 <element1>text1</element1>
 <name value="firstname">Michael</name>
 <element2>text2</element2>
</root>

文本1
约翰
第二个xml文件:

<root>
 <element1>text1</element1>
 <element2>
  <name value="firstname">John</name>
 <element2>
</root>
<root>
 <element1>text1</element1>
 <name value="firstname">Michael</name>
 <element2>text2</element2>
</root>

文本1
迈克尔
文本2
在不知道这些元素之前的位置的情况下,获取这些元素最有效的运行时方法是什么


(很抱歉,如果已经有关于stackoverflow的答案,但我没有找到答案)

您可能需要调查Xpath。请参阅您的具体案例,xpath将是“//name”double/表示根目录中的任何位置都是当前文档

您可能需要研究Xpath。请参阅您的具体案例,xpath将是“//name”double/表示根目录中的任何位置都是当前文档

您可能需要研究Xpath。请参阅您的具体案例,xpath将是“//name”double/表示根目录中的任何位置都是当前文档

您可能需要研究Xpath。请参阅您的具体案例,xpath将是“//name”double/表示根目录中的任何位置都是当前文档

一种不一定最有效,但更方便的方法是使用XPath查询:

查询:

"//name"
指:

搜索所有
标记,无论其深度如何。然后可以处理
节点列表


尽管XPath查询涉及一些开销,但在许多情况下,当前的技术已经足够了,而且很容易修改查询(如果出于某种原因,您必须稍微修改查询怎么办?)。

一种不一定最有效,但更方便的方法是使用XPath查询:

查询:

"//name"
指:

搜索所有
标记,无论其深度如何。然后可以处理
节点列表


尽管XPath查询涉及一些开销,但在许多情况下,当前的技术已经足够了,而且很容易修改查询(如果出于某种原因,您必须稍微修改查询怎么办?)。

一种不一定最有效,但更方便的方法是使用XPath查询:

查询:

"//name"
指:

搜索所有
标记,无论其深度如何。然后可以处理
节点列表


尽管XPath查询涉及一些开销,但在许多情况下,当前的技术已经足够了,而且很容易修改查询(如果出于某种原因,您必须稍微修改查询怎么办?)。

一种不一定最有效,但更方便的方法是使用XPath查询:

查询:

"//name"
指:

搜索所有
标记,无论其深度如何。然后可以处理
节点列表


尽管XPath查询涉及一些开销,但当前的技术在许多情况下已经足够了,而且很容易修改查询(如果出于某种原因,您必须稍微修改查询怎么办?

尝试在第一个位置获取查询,如果失败,尝试第二个位置?@ortnm12:运行时效率有那么重要吗?对于这样小的文件,差异将非常小…@CommuSoft运行时效率不会有问题,如果我必须使用一些xml文件,但我的应用程序将大约10Gb的xml文件转换为pdf文件,并在线存储部分xml文件和pdf,然后再使用新的根元素将转换后的xml文件包围起来,这需要更多的时间时间尝试在第一个位置获取,如果失败,则在第二个位置尝试?@ortnm12:运行时效率有那么重要吗?对于这样小的文件,差异将非常小…@CommuSoft运行时效率不会有问题,如果我必须使用一些xml文件,但我的应用程序将大约10Gb的xml文件转换为pdf文件,并在线存储部分xml文件和pdf,然后再使用新的根元素将转换后的xml文件包围起来,这需要更多的时间时间尝试在第一个位置获取,如果失败,则在第二个位置尝试?@ortnm12:运行时效率有那么重要吗?对于这样小的文件,差异将非常小…@CommuSoft运行时效率不会有问题,如果我必须使用一些xml文件,但我的应用程序将大约10Gb的xml文件转换为pdf文件,并在线存储部分xml文件和pdf,然后再使用新的根元素将转换后的xml文件包围起来,这需要更多的时间时间尝试在第一个位置获取,如果失败,则在第二个位置尝试?@ortnm12:运行时效率有那么重要吗?对于这样小的文件,差异将非常小…@CommuSoft运行时效率不会有问题,如果我必须使用一些xml文件,但我的应用程序将大约10Gb的xml文件转换为pdf文件,并在线存储部分xml文件和pdf,然后再使用新的根元素将转换后的xml文件包围起来,这需要更多的时间时间