关于使用 scala 查找具有与特定值匹配的属性的所有节点

2024-01-19

我之前看到过这里讨论的以下示例,其目标是返回包含 id 为 X 且包含值 Y 的属性的所有节点:

    //find all nodes with an attribute "class" that contains the value "test" 
val xml = XML.loadString( """<div> 
<span class="test">hello</span> 
<div class="test"><p>hello</p></div> 
</div>""" ) 

def attributeEquals(name: String, value: String)(node: Node) =  
{  
    node.attribute(name).filter(_==value).isDefined 
} 

val testResults = (xml \\ "_").filter(attributeEquals("class","test"))  
//prints: ArrayBuffer( 
//<span class="test">hello</span>,  
//<div class="test"><p>hello</p></div> 
//)  
println("testResults: " + testResults) 

我使用的是 Scala 2.7,每次返回打印值始终为空。任何人都可以帮忙吗? 抱歉,如果我复制另一个线程...但认为如果我发布一个新线程,它会更明显?


根据NodeScala文档 http://www.scala-lang.org/api/current/scala/xml/Node.html, attribute定义如下:

 def attribute(key: String):Option[Seq[Node]]

因此,您应该这样修改您的代码:

def attributeEquals(name: String, value: String)(node: Node) =  
{  
    node.attribute(name).filter(_.text==value).isDefined // *text* returns a text representation of the node 
} 

但为什么不简单地实现同样的目的:

scala> (xml descendant_or_self) filter{node => (node \ "@class").text == "test"}
res1: List[scala.xml.Node] = List(<span class="test">hello</span>, <div class="test"><p>hello</p></div>)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于使用 scala 查找具有与特定值匹配的属性的所有节点 的相关文章

  • 使用 java 从 XML 元素中删除空格

    我有一个 JSON 如下 String str Emp name JSON Emp id 1 Salary 20997 00 我想使用 java 将此 JSON 转换为 XML 我的 java 代码在这里 JSON json JSONSer
  • XAMARIN - 添加来自 youtube 的视频

    我搜索如何从 youtube 添加视频的信息 例如 我想从一些 YouTube 链接添加视频 我认为它应该在网络视图中 但我需要一些详细信息 因为我找不到有关我的问题的任何信息 您可以使用 webview 播放 youtube 视频 str
  • Python配置文件生成器

    我想用Python制作一个配置文件生成器 我的大致想法是使用模板文件和一些具有真实设置的 XML 文件来提供输入 然后使用程序生成真正的配置文件 例子 template file server IP serverip server name
  • scalac 编译生成“对象 apache 不是包 org 的成员”

    我的代码是 import org apache spark SparkContext 它可以在交互模式下运行 但是当我使用 scalac 编译它时 出现以下错误消息 对象 apache 不是包 org 的成员 这似乎是路径的问题 但我不知道
  • XSD“版本”属性语义

  • Android 矩形有两种不同的颜色

    如何通过使用两种不同颜色和阴影来创建矩形形状 就像上图一样 Please create a drawable file and put the below code in it
  • 视图和流有什么区别?

    在Scala 2 8集合框架中 有什么区别view and toStream 在视图中 每次访问元素时都会重新计算它们 在流中 元素在求值时会被保留 例如 val doubled List 1 2 3 4 5 6 7 8 9 10 view
  • C# Xml-使用 IXmlSerialized 序列化派生类

    我有一个与 XML 序列化兼容的基类和一个实现 IXmlSerialized 的派生类 在此示例中 基类确实实现了 IXmlSerializable using System Diagnostics using System Text us
  • XPath 选择具有特定属性值的元素?

    我在使用 XPath 选择节点时遇到问题 我将展示一个示例 由于实际数据量很大 xml 文件被缩短了 这是 XML 的子集
  • 在 iPhone 应用程序中显示来自 RSS 源的内容

    我看过一些关于这个主题的教程 但它们都只讨论了一半 然后让人感到困惑 如何将 RSS feed 流式传输到 iPhone 应用程序中 我知道 xml 应该被读入 解析等 但随后我不确定如何显示我需要的信息 例如图像 嵌入视频等 如果有人能指
  • 将结构数组分解为 Spark 中的列

    我想将结构数组分解为列 由结构字段定义 例如 root arr array nullable true element struct containsNull true id long nullable false name string
  • Microsoft EWS 推送通知响应消息

    目前 每当创建新的日历事件时 我们都会使用来自 Microsoft Exchange Web 服务的推送通知来调用我们的服务 一开始这似乎工作正常 我们正在收到验证消息并回复
  • @android的含义

    我想问一下是什么意思 android as in android id android id list 我在不同的 android 示例和教程中看到过它 我也用谷歌搜索过它 我发现的唯一解释是 列表和空 ID 是由 Android 平台为我
  • 如何在 Scala 用户定义注释中使用命名参数?

    在下面的代码中 我能够获得第一个注释对象 Publishable 但不能获得第二个 第二个使用命名参数 它转换为 x 2 x 3 x 1 作为 AST 中的参数 我该如何正确地做到这一点 class Publishable val path
  • xslt 展平 DocBook para 元素中的子元素

    我正在将一些生成的 DocBook xml 来自 Doxygen 转换为我公司的 xml 这实际上是 DocBook 的子集 有一个类似如下的 para 元素
  • Scalaz 状态 monad 示例

    我还没有看到很多 scalaz 状态单子的例子 有这个例子 http scalaz github com scalaz scalaz 2 9 1 6 0 2 doc sxr scalaz example ExampleState scala
  • Scala 中的数字格式?

    我有一个从文件中读取的动态变化的输入 数字是Int or Double Scala 为什么要打印 0每次之后Double数字 Scala 有没有办法以与读取相同的方式打印它 Example var x Double 1 println x
  • Scala Continuations - 为什么我的转移调用不能位于 try-catch 块内?

    我对 Scala 延续很陌生 而且对一般的 scala 语言也比较陌生 我尝试使用 Scala 延续并编写了以下代码 case class MyException msg String extends Exception def go In
  • Scala Stream 按需要调用(惰性)与按名称调用

    所以我知道按需要呼叫只是按名称呼叫的记忆版本 在 Martin Odersky 在 Coursera 上的 FP 课程中 第 7 3 讲 惰性评估 中 他提到如果 Streams 是使用按名称调用来实现的 那么它可能会导致计算复杂性的激增
  • 序列化时如何跳过 xml 声明?

    我正在尝试输出一个没有 xml 头的 xml 文件 例如 我试过 Type t obj GetType XmlSerializer xs new XmlSerializer t XmlWriter xw XmlWriter Create c

随机推荐

  • 无法从 Powershell 将 Chrome 设置为默认浏览器

    我正在运行以下 powershell 命令 chromePath Env ProgramFiles x86 Google Chrome Application chromeApp chrome exe chromeCommandArgs m
  • 外投影类型禁止使用方法

    我似乎无法理解 Kotlin 泛型 请帮忙 I read here https stackoverflow com questions 40519921 out projected type arraylist prohibits the
  • iOS - 检测促销代码应用内购买

    我有一个使用不可更新的应用内购买产品的应用程序 今天 我正在考虑为我的初始用户发布大约 100 个应用内促销代码 应用内购买在应用程序中按预期工作 但如果用户已经在 App Store 上兑换了促销代码 我无法弄清楚我需要在应用程序上进行什
  • 从ONU的UnData下载数据

    我想知道一段时间内一些国家的人口数量1960 2015 I found 包含这些数据 我有兴趣使用下载它Node js 我读到有一些APIs http data un org Host aspx Content API但我不明白如何使用它们
  • “multiprocessing.pool.Pool”中“context”参数的含义是什么?

    context是构造函数中的可选参数class multiprocessing pool Pool 文档 http python readthedocs io en stable library multiprocessing html m
  • iOS - 检测 UITableViewCell 被移出可见视图?

    一旦单元格在屏幕上不再可见 我就需要收到通知 UITableView 已经有一个名为的委托方法tableView didEndDisplayingCell forRowAtIndexPath 但这个委托方法永远不会被调用 是的 我确实有 U
  • 将域名重定向到heroku中的名称服务器?

    我已将我的域配置为 heroku IP 75 101 163 44 75 101 145 87 174 129 212 2 但它没有将我的应用程序重定向到我的域 错误说 该主机名上没有配置任何应用程序 也许应用程序所有者已将其重命名 或者您
  • 棉花糖精细和粗略位置权限

    我正在尝试访问ACCESS FINE LOCATION如果找不到访问权限ACCESS COARSE LOCATION 所以我请求这两个权限 但他们给了我相同的对话框 要求位置权限 我知道它们都在同一组 但谷歌说 Note 即使用户已经在同一
  • ZF2 SOAP“过程不存在”错误

    我在解决这个问题时遇到了严重的麻烦 我有一个包含 3 个模块的应用程序 这些模块通过 SOAP 提供不同的服务 发生的情况是 其中 2 个得到了以下响应 肥皂故障 文件 var www empreendimentos vendor zend
  • 有哪些算法可以让我模拟行星物理?

    我有兴趣制作一个 太阳系 模拟器 它可以让我模拟行星和恒星的旋转力和引力 我想说的是 模拟我们的太阳系 并以不同的速度模拟它 即观察地球和其他行星绕太阳旋转数天 数年等 我希望能够添加行星并改变行星质量等 看看它会如何影响系统 有谁有任何资
  • 卡在“正在将您重定向回应用程序。这可能需要一些时间”。 twitter 授权部分 - 使用 twittR 包

    我遇到了与中描述的完全相同的问题这个问题 https stackoverflow com questions 25856394 r twitter package authorization error 其中我遇到了类似的错误 但我按照说明
  • While 循环与 Promise 陷入无限循环

    我正在运行一个 while 循环 其中包含一个带有成功和失败回调的 Promise Promise 检查图像是否在 URL 上成功加载 查看下面的代码 我不断循环遍历命名照片列表1 jpg 2 jpg 依此类推example com 每次发
  • 在Java中,类上的静态方法有什么缺点吗?

    让我们假设在我的编码环境中已经强加了一条规则 或者经验法则 即类上不使用 修改或以其他方式需要任何实例变量来完成其工作的任何方法都将被设为静态 这样做是否有任何固有的编译时间 运行时间或任何其他缺点 已编辑以进一步澄清 我知道这个问题有点开
  • 谷歌地图API地理编码找到附近的KML

    我看到很多人在谷歌地图讨论组上询问这个问题 并进行了富有成效的讨论 所以我想我应该在这里尝试一下 目标 在 Google Maps API 中制作一个可搜索的地图 当输入用户地址时 该地图可以从数据集中返回 附近 的结果 到目前为止 我的方
  • 如何使用 git log 仅获取带有路径的文件名?

    我几乎使用了所有 git log 命令 但我还没有找到最好的方法来做到这一点 我只需要这个 只获取带有路径的文件名 没有其他 path filename txt path anotherfile ext 我的输入是 git log 命令的日
  • pyspark ImportError:无法导入名称累加器

    目标 我试图让 apache spark pyspark 在我的 pycharm IDE 中得到适当的解释 问题 我当前收到以下错误 ImportError cannot import name accumulators 我关注以下博客来帮
  • CreatedAtRoute 找不到与提供的值匹配的路由

    我在 NET Core 教程中遇到问题 它是用 NET Core 2 2 编写的 但我想使用当前版本 3 0 这也是我在我的设置与教程中发现的唯一区别 问题如下 我有一个 HttpPost 路由 其中 包含 CreatedAtRoute 调
  • Java maven开发速度慢

    我正在开发一个通过 Maven 构建的 war java 网站 目前 我必须进行更改 告诉maven 构建它们 然后部署到Tomcat 这是周围40秒 因此 我所做的每一个更改 我都必须等待 gt 40 秒才能看到更改 这变得非常令人沮丧
  • 在 python 中模拟开放进行单元测试

    我想使用 unittest 测试一种使用上下文管理器从文件中读取的方法 with open k file r as content file content content file read 我不想在我的系统上创建一个文件 所以我想模拟它
  • 关于使用 scala 查找具有与特定值匹配的属性的所有节点

    我之前看到过这里讨论的以下示例 其目标是返回包含 id 为 X 且包含值 Y 的属性的所有节点 find all nodes with an attribute class that contains the value test val