gpt4 book ai didi

java - 如何在htmlunit中删除页面元素

转载 作者:行者123 更新时间:2023-11-30 11:57:29 24 4
gpt4 key购买 nike

通常在 PHP 中,我只会解析旧文档并写入新文档,同时忽略不需要的元素。

最佳答案

这是我想到的第一个解决方案:

            DocumentBuilder builder = DocumentBuilderFactory
.newInstance()
.newDocumentBuilder();

StringReader reader = new StringReader( xml );
Document document = builder.parse( new InputSource(reader) );

XPathExpression expr = XPathFactory
.newInstance()
.newXPath()
.compile( ... );

Object result = expr.evaluate(document, XPathConstants.NODESET);

Element el = document.getDocumentElement();
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
el.removeChild( nodes.item(i) );
}

如您所见,它有点长。作为一名追求简单的编码员,我决定采纳 Ahmed 的建议,希望能找到更好的解决方案,我想出了这个:

            List<?> elements = page.getByXPath( ... );

DomNode node = null;
for( Object o : elements ) {
node = (DomNode)o;
node.getParentNode().removeChild( node );
}

请注意,这些只是片段,我省略了导入和 XPath 表达式,但你明白了。

关于java - 如何在htmlunit中删除页面元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786629/

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