gpt4 book ai didi

java - 删除保留给定节点的 XML 内容(Java 解析器)

转载 作者:行者123 更新时间:2023-11-29 09:18:42 26 4
gpt4 key购买 nike

在下面的 XML 示例中,使用 java 解析器如何将内容保留在标记 AND 后跟中心并删除其他所有内容?当标签后面跟着其他标签而不是中心时,标签可能有其他实例,这些实例必须被丢弃。

<xml>
<A>
<B>
.
.
.

<parameter>
<parameterid>center</parameterid>
<name>Center</name>
<keyframe>
<when>1</when>
<value>
<horiz>100</horiz>
<vert>100</vert>
</value>
</keyframe>
<keyframe>
<when>2</when>
<value>
<horiz>150</horiz>
<vert>150</vert>
</value>
</keyframe>
</parameter>
<parameter>
...
</parameter>
<parameter>
...
</parameter>
.
.
.
</B>
</A>
</xml>

所以输出看起来像:

<parameter>
<parameterid>center</parameterid>
<name>Center</name>
<keyframe>
<when>1</when>
<value>
<horiz>100</horiz>
<vert>100</vert>
</value>
</keyframe>
<keyframe>
<when>2</when>
<value>
<horiz>150</horiz>
<vert>150</vert>
</value>
</keyframe>
</parameter>

请指教。谢谢!

最佳答案

可以使用Java Regexp去除不需要的内容,然后只解析需要的部分f.e.

String sourceXML = readFileToString("source.xml")
final Pattern pattern = Pattern.compile(".*(<parameter>.+</parameter>).*",Pattern.DOTALL);
Matcher matcher = pattern.matcher(sourceXML);
if (matcher.find()) {
String xmlToParse = matcher.group(0);
someDomOrSaxParser.parseFromString(xmlToParse)
}else
System.out.println("NO MATCH");

关于java - 删除保留给定节点的 XML 内容(Java 解析器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7871065/

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