当前位置: 首页 > 面试题库 >

SimpleXML:选择具有特定属性值的元素

韩弘壮
2023-03-14
问题内容

在XML文档中,我具有共享相同名称的元素,但是属性的值定义了它是什么类型的数据,并且我想从文档中选择所有具有特定值的元素。我是否需要使用XPath(如果可以,您是否可以建议正确的语法)还是有更优雅的解决方案?

这是一些示例XML:

<object>
  <data type="me">myname</data>
  <data type="you">yourname</data>
  <data type="me">myothername</data>
</object>

我想选择类型为的所有<data>子代标签的内容。<object>``me

PS-我正在尝试使用PHP与Netflix API进行接口-这对我的问题无关紧要,但是如果您想提出一种更好的方法,我非常高兴。


问题答案:

试试这个XPath:

/object/data[@type="me"]

所以:

$myDataObjects = $simplexml->xpath('/object/data[@type="me"]');

如果object不是文档的根目录,请//object/data[@type="me"]改用。



 类似资料:
  • 嗨,我有以下XML 标准是只复制“item-name”属性值为TShert、Ball或Bat的位置。所以生成的XML应该看起来像 我正在使用以下XSLT 但这不起作用。你能帮忙吗? 谢谢Nathan

  • 本文向大家介绍jquery 属性选择器(匹配具有指定属性的元素),包括了jquery 属性选择器(匹配具有指定属性的元素)的使用技巧和注意事项,需要的朋友参考一下 jQuery 选择器 在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例。 关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。 jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 H

  • 我正在尝试使用Javascript选择此复选框 下面的代码可以工作,但并不理想 我试过这些 但它们并不起作用。有什么想法能让这件事成功吗? 数据值未硬编码的更新代码

  • 问题内容: 我试图通过将所有参数元素为type_id =“ 4218”的所有“ ”元素从URL解析XML文件? XML文件: 这是我的Java代码: 这段代码给了我所有元素,我不想要,我想要属性type_id =“ 4218”的所有元素! 问题答案: XPath是您的正确选择: 并遍历

  • 问题内容: 可以说我们有以下代码: 您将如何选择第一个属性等于3的孩子?我在想,也许这可以做到: …但是没有用 问题答案: 该伪类仅着眼于第一子节点,因此,如果第一个孩子是不是,则选择一无所有。 没有类似的属性过滤器伪类。一种简单的解决方法是选择每个对象,然后排除第一个对象之后的内容 当然,这仅适用于样式。如果您要出于样式之外的目的挑选该元素(因为标记看起来是任意XML而不是HTML),则必须使用

  • 问题内容: 请考虑以下代码: 如何选择具有属性的所有标签? 谢谢 问题答案: 使用“具有属性”选择器: 或选择一个该属性具有特定值的属性: “属性值起始于”,“属性值包含”等还有其他选择器。