如何通过给定的标记名称从XML中删除特定元素。公理

时间:2014-11-28 04:26:19

标签: java xml xml-parsing axiom

民间,

我只是想知道如何使用AXIOM xml进程库从给定的xml中删除给定标记名称的xml元素。

到目前为止,我已经成功构建了文档。

StAXOMBuilder builder = new StAXOMBuilder(stream);
OMElement documentBuilder = builder.getDocumentElement();

提前感谢。

2 个答案:

答案 0 :(得分:1)

OMXMLParserWrapper builder = OMXMLBuilderFactory.createOMBuilder(stream);
OMElement documentElement = builder.getDocumentElement();
Iterator it = documentElement.getChildrenWithName(new QName("http://namespace", "elementName"));
if (it.hasNext()) {
    it.next();
    it.remove();
}

答案 1 :(得分:0)

好吧,我找到了解决方案

  StAXOMBuilder builder = new StAXOMBuilder(stream);
    OMElement documentBuilder = builder.getDocumentElement();

     Iterator allChildren = documentBuilder.getChildren();
     while (allChildren.hasNext()) {
        OMElement omElement = (OMElement) allChildren.next();
        String elementName = omElement.getQName().toString();

        if ("apimPayload".equals(elementName)) {                       
        omElement.detach();
        break;
        }
     }