gpt4 book ai didi

java - Java中的xml解析并写入另一个xml文件

转载 作者:行者123 更新时间:2023-12-01 11:47:59 24 4
gpt4 key购买 nike

如何解析xml文件,以便将相同的节点一个接一个地多次写入另一个文件中?例如:

1.Xml file to be parsed:
<?xml version="1.0" encoding="UTF-8"?>
<ALL>
<VER>7.0</VER>
<NATIONALITY>FIN</NATIONALITY>
<DATA>
<USER>ED</USER>
<PLZ>XXX</PLZ>
<BEGIN>2015-05-16</BEGIN>
<CURRENCY>90</CURRENCY>
<MARKE>KIA</MARKE>
<DATA>
</ALL>

2.因此,我想多次保存在另一个 xml 文件中:

<?xml version="1.0" encoding="UTF-8"?>
<ALL>
<VER>7.0</VER>
<NATIONALITY>FIN</NATIONALITY>
<DATA>
<USER>ED</USER>
<PLZ>XXX</PLZ>
<BEGIN>2015-05-16</BEGIN>
<CURRENCY>90</CURRENCY>
<MARKE>KIA</MARKE>
<DATA>
</ALL>

<ALL>
<VER>7.0</VER>
<NATIONALITY>FIN</NATIONALITY>
<DATA>
<USER>ED</USER>
<PLZ>XXX</PLZ>
<BEGIN>2015-05-16</BEGIN>
<CURRENCY>90</CURRENCY>
<MARKE>KIA</MARKE>
<DATA>
</ALL>
...

这是我之前的问题:Copy nodes in the same output xml file -java

最佳答案

第二个示例不是 XML 文件。

添加外部标签并将appendChild添加到根目录并保存。该文件届时将保持有效。

<?xml version="1.0" encoding="UTF-8"?>
<ALLs>
<ALL>
<VER>7.0</VER>
<NATIONALITY>FIN</NATIONALITY>
<DATA>
<USER>ED</USER>
<PLZ>XXX</PLZ>
<BEGIN>2015-05-16</BEGIN>
<CURRENCY>90</CURRENCY>
<MARKE>KIA</MARKE>
<DATA>
</ALL>
</ALLs>

您可以使用随机访问文件,跳到末尾,回到写入新 XML 片段之前,然后再次写入所有内容。这应该很快。

另一个选项,对流很有用,始终写入 XML header 。

在这种情况下,您必须逐一解析,注意您传递用于解析的InputStream不会关闭inputStream(使用close创建您自己的子类,实际上不会关闭文件,并且外部关闭;否则 XML 解析器将关闭该文件)。

<?xml version="1.0" encoding="UTF-8"?>
<ALL>
<VER>7.0</VER>
<NATIONALITY>FIN</NATIONALITY>
<DATA>
<USER>ED</USER>
<PLZ>XXX</PLZ>
<BEGIN>2015-05-16</BEGIN>
<CURRENCY>90</CURRENCY>
<MARKE>KIA</MARKE>
<DATA>
</ALL>

<?xml version="1.0" encoding="UTF-8"?>
<ALL>
<VER>7.0</VER>
<NATIONALITY>FIN</NATIONALITY>
<DATA>
<USER>ED</USER>
<PLZ>XXX</PLZ>
<BEGIN>2015-05-16</BEGIN>
<CURRENCY>90</CURRENCY>
<MARKE>KIA</MARKE>
<DATA>
</ALL>

另一个可以使用的选项,例如JSON;将 XML 转换为 JSON 并附加到文件;读取时,逐行读取并根据需要将 JSON 转换为 XML

关于java - Java中的xml解析并写入另一个xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29004821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com