问题标签 [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 回答
1300 浏览

xml - XML Parsing with same element tags but unique data

I am parsing xml that has many of the same tag. Inside the tag there is a name of a value and then the value. My issue is is that I need to separate those values.

This is an example of the xml I have to parse

notice that the name of the events change and are not related. If they were related it would be easier to parse. The name is the name of the event and is unique. The value is linked to that unique name. My problem is trying to figure out how to parse out the unique name from the generic element tag and then assign that name the corresponding value. I was told to try to use a collection but I am not sure how to go about doing that. Right now I have it parsing out like this.

With audit being my object and parsing being my xmlslurper. Right now this just gives me all the "name" elements into one string and all there corresponding (In order respectively) values in another string. Like this:

Name: Prairie FarmHouse on fire

Value: Summer Lane Happy Land USAashes

I ultimately need it like

Prairie Farms: Summer Lane Happy Land USA

House On Fire: ashes

I have about 10 different unique names that I know of so far (found by looking at what this query receives with them strung together)

What would I have to write to get it so it picks out the unique event names and links it with its value.

^ This was my first thought, going with all the known unique names and going through and assigning a name to a value that way. This would of just linked createdTime with the value and ignore the rest as a test but it didn't even get that far.

Any suggestions or opinions?

Sorry if this is confusing. I find it kind of hard to explain

Thanks for you time!

0 投票
1 回答
226 浏览

xmlslurper - 使用带有 xml sluper 的 groovy 删除部分 xml

我是 groovy 的新手,所以作为我任务的一部分,我需要更新 xml。

我的xml是::

从这个 xml 我需要删除 xml 的某些部分,并且应该将输出打印为::

请建议,谢谢。

0 投票
2 回答
1694 浏览

xml - 使用 xmlSlurper 获取 XML 中每个重复条目的计数

我必须计算出现在 XML 中的每个无效数字 (BTNumber) 的出现次数。我正在使用 groovy XmlSlurper() 。请建议如何计算数字和计数(在 xml 中的多次)

例如-

XML代码如下 -

请建议是否有比 XMLSlurper 更容易和更快的方法。

0 投票
1 回答
55 浏览

parsing - 使用属性解析 Xml 标签

我有这个 xml:

我想根据语言获取文本。

我正在使用 XmlSlurper。

使用我当前的代码:

我的结果很糟糕,这是 3 个文本内容的串联:

感谢您的帮助。

0 投票
1 回答
1031 浏览

groovy - 如何在 GRAILS 中使用 XmlSlurper 在 html 元素中显示所有内容

假设我有一个名为 pixelTest.xml 的 xml 文件,它看起来像这样......

我想要做的是以形成 html 元素的形式显示 html 元素内的所有内容。这意味着我想打印 html 元素的确切输出。这是我的代码的样子......

但我无法让它正确访问 html 元素,我通过打印我的 htmlList 进行检查。这是我的输出...

但我希望它正确地保存在我的 htmlList 中,就像底部打印出来的那样......

看起来 XmlSlurper 也跳过了 CDATA 和评论之类的东西。谁能帮帮我吗?谢谢!

0 投票
1 回答
1111 浏览

groovy - 在 Groovy 中使用命名空间和实体解析 XML

在 Groovy 中解析 XML 应该是小菜一碟,但我总是遇到问题。

我想解析这样的字符串:

当我以标准方式执行此操作时new XmlSlurper().parseText(body),解析器会抱怨该&nbsp实体。在这种情况下,我的秘密武器是使用 tagoup:

但是现在这个<ac:sepcial>标签会被解析器立即关闭——special文本不会在生成的 dom 中的这个标签内。即使我禁用了命名空间功能:

另一种方法是使用标准解析器并添加一个像这样的文档类型:

这似乎适用于我的大多数文件,但解析器需要很长时间才能获取 dtd 并对其进行处理。

任何好主意如何解决这个问题?

PS:这里有一些示例代码可以玩:

0 投票
1 回答
7178 浏览

groovy - 将更新的 XML 写入最初解析的文件

我有一个gradle.build我想要的地方:

  1. 读取一个 XML 文件
  2. 用于XmlSlurper更新读取的 XML 文件中的属性
  3. 将更新后的 XML 写回最初解析的 xml 文件。

第三步仅在我将修改后的 XML 写入新的不存在的XML 文件而不是最初解析的XML 文件时才有效。

将修改后的 XML 写入最初解析的 XML 文件的最简单方法是什么?


到目前为止我的代码:

我希望outFilefile.xml覆盖原始 XML 文件。

0 投票
1 回答
110 浏览

xml - Groovy:导航一个空的 xml

从平面文件中读取 xml 并使用 XmlSlurper 对其进行解析。这是 XML 文件的样子

XmlSlurper 可以很好地读取它并打印 XML 文档。但它不导航 XML 元素。

0 投票
1 回答
294 浏览

groovy - 使用 XmlSlurper 检索顶级 XML 节点名称

给定以下 XML,我如何使用 Groovy 的 XmlSlurper 获取状态值:

0 投票
1 回答
141 浏览

xml - 解析xml时在groovy中向前看?

我正在尝试解析 xml-tree。我想要:

  • 打印每个项目的路径表示。有没有更聪明的方法来创建路径?
  • 打印 primaryType="content" 的节点的名称和值 (content-nodes)
  • 找到了一个更聪明/更好的方法。过滤器?更智能的关闭?
    • 我可以用另一种方式向前看吗
  • 这个例子是我拥有的一个更复杂的真实案例的简单例子。使用 primaryType="text" 搜索属性元素

运行下面的代码时,我得到:

但我想要:

  • 在“元数据”->“”上进行字符串替换很容易,但这不是一个好的解决方案。
  • 如果你有时间,我也想要一个更聪明的解决方案。

提前致谢!

例子: