如何读取XML文件以及如何在Java中的XML标记文件内附加节点

时间:2019-01-23 02:49:18

标签: java xml

我是Java新手,我在一个程序中苦苦挣扎,我不知道如何编写

我需要一些可以读取任务的代码,并将适当的任务发现标记应用于val.xml文件。

例如:

val.xml中的任务:

<task name="12-19" additionalIntervalInformationNeeded="No">
                         Converter (Cleaning)
  </task>

finders.xml中匹配的任务发现标记:

<tf taskid="olive-12-19">
<task-findings val="28">
<task-finding>
<title>Left Converter</title>
</task-finding>
</task-findings>
</tf>

所以目标是使用元素中的任务属性值来找到正确的任务发现标记。

将元素和所有子元素合并到任务标记中(就在结束标记内)。

以上示例的结果将是这样:

<task name="12-19" additionalIntervalInformationNeeded="No">
                     Converter (Cleaning)
         <tf taskid="olive-12-19">
         <task-findings val="28">
         <task-finding>
         <title>Left Converter</title>
         </task-finding>
         </task-findings>
         </tf>
 </task>

请建议我如何编写代码。

1 个答案:

答案 0 :(得分:0)

从您的用例来看,您似乎可以编写程序来读取两个xml文件,然后进行编辑并将其作为输出文件写入。 XML文件可以像Java中的TXT文件一样进行读写,您只需要在读取和保存文件时更改文件扩展名即可。这将需要您编写自己的解析器或使用regex等方法。

另一种可行的方法是编写由Oracle提供的JAXP or the Java API for XML。这将帮助您通过Java阅读,处理和编辑XML文件。

还有其他解析器API,分别称为DOM Parser APISAX (Simple API for XML) API。可以用来读取和更改XML文件。较早的Java版本使用了此功能,对小型XML文件很有用。当前,使用的是用于XML的StaX或Streaming API。

教程博客here将帮助您了解StaX库通过Java解析XML文件的想法。