问题标签 [xmlslurper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2023 浏览

groovy - 代表body标签的XmlSlurper NodeChild?

我想要一个 Groovy NodeChild,它代表例如一个 body 标签。

但是,如果我这样做

我得到了一个 NodeChild 的 html。

但是 html.body 是一个 NodeChildren 标记,我似乎无法获得 NodeChild。

非常感谢您的帮助!

谢谢米莎

0 投票
2 回答
7499 浏览

html - 来自 HTML 的 Groovy 漂亮打印 XmlSlurper 输出?

我正在使用几个不同的版本来执行此操作,但似乎都导致了这个错误:

[致命错误]:1:171:前缀“xmlns”不能显式绑定到任何命名空间;“xmlns”的命名空间也不能明确地绑定到任何前缀。

我将html加载为:

我试过的版本:

http://johnrellis.blogspot.com/2009/08/hmmm_04.html

http://old.nabble.com/How-to-print-XmlSlurper%27s-NodeChild-with-indentation--td16857110.html

有什么建议吗?

谢谢!米莎

0 投票
1 回答
2498 浏览

groovy - 用任意 XML 替换 XmlSlurper 标记

我正在尝试用任意 XML 字符串替换特定的 XmlSlurper 标记。我设法做到这一点的最好方法是:

#!/usr/bin/env groovy

但是,唯一的问题是 text() 元素似乎捕获了所有子文本节点,因此我得到:

非常感谢任何想法/帮助。

谢谢!米莎

ps 另外,出于好奇,如果我将上面的内容更改为“Groovier”符号,如下所示,Groovy 编译器认为我正在尝试访问我的测试类的 ${node.name()} 成员。有没有办法在仍然不传递实际的构建器对象的情况下指定这种情况?谢谢!:)

0 投票
3 回答
2982 浏览

grails - XmlSlurper 的 Grails/Groovy 问题 .. 帮助

将 grails 1.2.2 与 groovy 1.6.8 一起使用 .. 读取 Web 服务并尝试处理响应..

响应如下所示,并验证为正确的 xml ..(对不起,长度)..

我尝试使用

def myXml = new XmlSlurper().parseText(result)

结果是上面的消息,我得到一个错误......

2010-06-19 06:08:03,665 [http-8080-2] 错误错误。GrailsExceptionResolver - 文件过早结束。org.xml.sax.SAXParseException:文件过早结束。在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231) 在 com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java: 522)

这是上面的 xmlSlurper 语句..

如果我从 groovyConsole 复制并运行,我没有问题.. 我创建了一个精简的 Grails 项目并从那里运行它也没有问题.. 我有点绝望地想要得到这个排序(已发布在 Grails网站)所以有人知道吗?

0 投票
2 回答
5969 浏览

xml - Groovy 删除 XMLSlurper 中的标签,replaceNode {} 什么都不做

我正在使用 XMLSlurper(groovy 1.7.4)解析一些 XML,我需要删除一个标签(不要让它为空!)。这是说明它的代码示例:

这打印

在 XMLSlurper 中,没有 firstRecord.remove('country')

我真的很困惑。这是一件很明显的事情......

0 投票
1 回答
2420 浏览

xml - 在 Groovy 中对 XML 进行排序

我查看了有关使用 Groovy 对 XML 进行排序的文档

但我想做的是对 XML 进行排序,然后返回排序后的 xml 字符串。我知道我可以在完成排序后完全重建 XML。

我知道我可以在 XML 上运行 XML 转换以对其进行排序

但我一直在寻找一些 Groovy 魔法来让我更轻松

0 投票
1 回答
4574 浏览

groovy - 使用命名空间进行 Groovy Xml 解析

我一直在尝试使用 groovy 的 XML Slurper 进行一些 xml 修改。

基本上,我正在浏览 xml 并寻找具有的标签或属性?作为值,然后用一些值替换它。

我已经让它适用于没有名称空间的 xml,但是一旦我包含它们,事情就会变得不稳定。例如,这个:

产生:

<Envelope/>

这是我正在使用的常规代码。当我不使用命名空间时,这似乎确实有效:

0 投票
2 回答
1675 浏览

xhtml - Groovy XMLSlurper 问题

我想用 XmlSlurper 解析我使用 HTTPBuilder 阅读的 HTML 文档。最初我尝试这样做:

但它会产生一个异常:

我找到了一种解决方法来提供缓存的 DTD 文件。我找到了一个简单的类实现,在这里应该有所帮助:

我的包树如下所示:

替代文字

我还修改了一些用于解析响应的代码,所以它看起来像这样:

但现在我得到了java.net.MalformedURLException。从 CachedDTD entityResolver 记录的 DTD 路径是org/yuri/dtd/xhtml1-transitional.dtd,我无法让它工作......

0 投票
2 回答
8303 浏览

groovy - 使用 XmlSlurper 返回的 GPathResult 迭代具有给定名称的所有子项

我已经使用 XmlSlurper 解析了一些 html。现在我想用给定的元素名称迭代所有子元素。

我现在得到的是以下代码片段

它有效,但还不够时髦。我想简单地写这样的东西

如果我这样做,GPath 会抱怨没有名称为“a”的属性。知道是否有一个简单的语法来制定这个迭代吗?

0 投票
2 回答
1007 浏览

groovy - Is it possible to parse sub-trees with Groovy XMLSlurper

Does anyone know whether it is possible to utilise XMLSlurper in a fashion that means individual sub-trees can be pulled from a very large XML document and processed individually?

Imagine you've got a huge XML feed containing a root element that has thousands of direct child elements that you can process individually. Obviously, reading the whole document into memory is a no-no but, as each child of the root is itself modestly sized, it would be nice to stream through the document but apply XMLSlurper niceness to each of the child elements in turn. As each child element is processed, garbage collection can clean up memory used to process it. In this way we get the great ease of XMLSlurper (such concise syntax) with the low memory footprint of streaming (e.g. SAX).

I'd be interested to know if anyone has ideas on this and/or whether you've come across this requirement yourselves.