问题标签 [scala-xml]

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 投票
1 回答
514 浏览

scala - 如何将 scala.xml.Attribute 的序列转换为 scala.xml.MetaData?

这里没有太多要补充的。当然,我可以用命令式编码风格以某种方式完成它,但我很好奇如何很好地解决这个问题。

0 投票
2 回答
511 浏览

scala - 在 Scala 宏中匹配 XML 文字

我想用宏转换 Scala XML 文字。(不是带有 XML 的字符串文字,而是实际的 XML 文字)。据我了解,XML 文字实际上并没有在 AST 级别上内置到语言中,而是在解析器中脱糖。有趣的是,这确实有效:

但很明显,这完全没用,因为不可能以这种方式匹配任意 xml。就像是

不能工作,因为我们必须在一个模式中绑定同一个变量两次。

打印出这种 xml 文字表达式的树实际上给出了脱糖版本。例如。

但试图匹配这个失败:

我很困惑!我的问题是:有没有办法可靠地匹配 scala 宏中的任意 xml litarals?另外:为什么它们在 quasiquotes 中支持常量 xml 而不是脱糖值?

0 投票
1 回答
21253 浏览

xml - scala 字符串到 scala.xml.Elem

我必须将字符串转换为 XML

0 投票
1 回答
238 浏览

xml - 在 Scala 中,如何使用转换器/重写规则在 XML 元素中添加递增的 ID

我想读入一个 XML 文件并在特定元素中放置一个递增的 id。这是我编写的一些测试代码,用于弄清楚如何做到这一点:

此代码是功能性的 - 但是,id 没有按预期出现:

看起来变压器多次撞击每个节点,增加 id,然后当 id 达到 7 时最终停止。为什么它在最终完成之前接触节点这么多次?有什么我可以做不同的事情来告诉它完成那个节点吗?

我想也许它正在遍历新修改的节点,因此我检查了包含名为“id”的属性的元素。但这似乎不起作用。也许一开始就这样做是个坏主意?

感谢您对此的任何帮助。

0 投票
0 回答
320 浏览

scala - 在不最小化元素的情况下解析 HTML + 转换

我正在为 Web 应用程序编写一个插件,该插件采用用户提供的 HTML 并将其转换为不同的 HTML 代码。我主要想找到具有给定类/内容(“指令”)的所有元素并将其重写为其他内容。我正在使用 Scala 2.11.1 和 TagSoup 解析器来处理对 XML 不友好的代码。

我目前的主要问题是对XML.parseString("<div></div>")收益的调用:

这种行为会使生成的页面(即iframes、divs 等)出现乱码,因为我希望不最小化此标签。有没有办法在加载阶段避免这种行为?

第二个问题与 TagSoup 有关。解析如下代码块时:

TagSoup 将其解析为

有什么办法可以避免这些问题吗?到目前为止,我只提出了“讨厌”的解决方案,例如重写所有元素以使其最小化并从<script>标签内容中删除所有实体。


TagSoup 解析是这样完成的:

0 投票
2 回答
1458 浏览

xml - 删除 scala (scala-xml) 中的前缀属性

我正在尝试使用 RuleTransformer 在 Scala 中删除带有前缀的属性。

虽然以下适用于无前缀属性:

我没有成功使用前缀属性(注意“bar”元素的属性“attr”具有前缀“pre”):

我试图使用

定义为

没有任何成功。

我是 Scala 初学者,所以如果这是一个微不足道的问题,请多多包涵。

0 投票
1 回答
117 浏览

scala - 我可以告诉 scala.xml 匹配两个标签中的任何一个吗?

body \\ "div"匹配“div”标签,并body \\ "p"匹配“p”标签。

但是如果我想匹配所有的“div”和“p”标签怎么办?scala.xml 中的一个表达式可以吗?

如果没有,是否有另一种方法可以按照它们出现的顺序遍历文档中的所有“div”和“p”标签?

0 投票
1 回答
1012 浏览

scala - 使用 Scala 模式匹配提取具有特定名称的 XML 元素,而不考虑内容

给定以下 XML 元素——

-- 如何构造一个匹配所有<bar/>s 的模式?我试过了,例如:

但这仅匹配空。

如果我允许内容占位符:

这仅匹配空。

我当然可以放弃 XML 文字而只写

但似乎必须有更聪明的方法。

0 投票
0 回答
120 浏览

xhtml - 使用 scala-xml 输出 XHTML 实体引用

0 投票
2 回答
1819 浏览

xml - 在 Scala 中向 XML 文件添加或追加新元素,而不是替换它

我的 scala 代码目前最终用我添加的新标签替换了我的 xml 文件的整个部分。我希望它只将标记添加一次作为 ClientConfig 的子项,但它会用自身替换本节中存在的所有标记。

其中 host=bob 和 env=flat 是先前定义的, addNewEntry 定义如下

它产生的xml是

相反,我希望它只是将其附加为 ClientConfig 的单个子项,例如最后三个子项已经存在于文件中

我该怎么办?例如python有一个简单的插入方法