问题标签 [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.
xml - 使用 XmlSlurper 解析 UTF-8 xml 文件
我正在尝试用 XmlSlurper 解析谷歌原子。我的用例是这样的。
1) 将 atom xml 发送到带有 rest 客户端的服务器。
2)处理请求并在服务器端解析它。
我使用 Groovy 开发服务器并使用 XmlSlurper 作为解析器。但我无法成功并得到“prolog 中不允许的内容”异常。然后我试图找出它发生的原因。我将 atom xml 保存到使用 utf-8 编码的文件中。然后尝试读取文件并解析原子,我得到了同样的异常。但后来我将 atom xml 保存到一个文件 whixh 用 ansi 编码。我成功地解析了atom xml。所以我认为问题在于 XmlSlurper 和“UTF-8”。
你对这个限制有什么想法吗?我的 atom xml 必须是 utf-8,那么我该如何解析这个 atom xml 呢?谢谢你的帮助。
XML:
读取文件并解析:
xml - Groovy XmlSlurper:在 XML 结构中查找元素
假设有以下 XML 结构:
使用 GroovyXmlSlurper
我需要执行以下操作:
从Data
查找包含元素中的值Field #1
的<DataFieldName>
元素开始。如果找到则获取<DataFieldValue>
属于同一级别的对应值。
xml - 如何使用 Groovy 的 XMLSlurper 和 GPathResult 从节点中删除属性?
我需要从一些已解析的 HTML(转换为 XML)中的正文节点中删除属性。
xml - Groovys XmlSlurper 中的命名空间处理
情况:
这个片段的输出是
似乎解析器合并了<bar>
and的内容<weird:bar>
。
是否需要这种行为,如果是,我该如何避免这种情况并仅选择<bar>
or <weird:bar>
?
html - 使用 XmlSlurper 时如何找到违规行
我正在使用 XmlSlurper 解析一个脏 html 页面,我收到以下错误:
现在,我有 html 我提供它并在这样做之前打印它。如果我打开它并尝试转到错误中提到的行 1157,那里没有“src”(但文件中有数百个这样的字符串)。所以我猜想插入一些额外的东西(可能<script>
或类似的东西)会改变行号。
有没有一种好方法可以准确地找到有问题的行或 html 片段?
groovy - XmlSlurper:使用命名空间更改元素中的文本
我不明白为什么xml."con:cred"."ser:user" = "modified_username"
不更改文本。有人可以解释一下吗?
xml - 为默认命名空间中的元素添加了 tag0 命名空间
我正在尝试使用 Groovy 的 XmlSlurper 解析和修改 Maven 的 pom.xml。我的 pom.xml 声明了命名空间 xsi。
我的 Groovy 源码如下:
如您所见,我已将第一个命名空间声明为空。但是,在输出中到处都添加了 tag0。
如何避免这种情况?
目前我的解决方法是手动删除标签:
xml - 查找表头是否包含匹配字符串的 GPath
我正在使用 NekoHTML 解析器将 HTML 文件解析为格式良好的 XML 文档。但是我不能完全弄清楚 GPath,以便我可以识别具有“设置”字符串的表。
在此示例中,应选择第一个表,以便我可以迭代其中的其他行值。有人可以帮我解决这个 GPath 吗?
编辑:附带问题 - 为什么
打印一个空字符串,它不应该返回标题吗?
grails - 没有命名空间的 Groovy XMLSlurper 命名空间错误
我有以下 XMLSlurper 无法解析的 XML。我认为 XMLSlurper 认为 xxx:yyy 是某种命名空间。有没有机会改变这种行为?
我无法更改 XML。我得到的错误:
grails - 如何在 groovy 中找到具有特定属性值的节点的文本?
我正在使用 XMLSlurper。我的代码在下面(但不起作用)。问题是当它碰到一个没有属性“id”的节点时它会失败。我该如何解释?
我只需要考虑没有“id”属性的节点,这样它就不会失败。我怎么做?