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

标签 java xml

在下面的 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/

相关文章:

php - 使用亚马逊 MWS 时我的 Feed 应该是什么样子?

java - Android 中的 iText 合并 pdf 错误,使用最新的库

java - 如何在 Java 中绘制各种形状?我应该使用哪个库?

java - MySQL - 如何使用正确的时区存储时间? (来自 java )

xml - 在具有命名空间的函数中查询 XML 数据

android - LinearLayout 权重 vs percentRelativeLayout android

c# - 如何在不替换所有属性的情况下编写 xml 属性?

java - 如果从 try-with-resource 返回一个 InputStream 是安全的

java - 如何使用 servlet 为 Eclipse 中的所有 html 和 jsp 页面维护唯一的 session ?

c# - 通过 Monogame 内容管道加载 XML 文件?