简单的 XML Xpath 查询问题
对于在 PHP 中使用简单的 XML 库完全陌生,并且一直在使用 w3 xpath 语法寻求帮助。
我有一个 xml 文件,大致如下所示:
<Xml_Configs>
<Foo_Module>
<Front_Name>a</Front_Name>
</Foo_Module>
<Bar_Module>
<Front_Name>b</Front_Name>
</Bar_Module>
<Baz_Module>
<Front_Name>c</Front_Name>
</Baz_Module>
</Xml_Configs>
我试图找出哪个模块的 Front_Name 为 b。现在,我只是试图获取要匹配的属性,而不关心获取父项,这就是我尝试过的:
$xmlObj->xpath('/Xml_Configs/*[@Front_Name="b"]');
这对我没有任何帮助,但是:“/Xml_Configs/*/Front_Name”确实给了我一个包含 a、b 和 c 的简单 xml 对象数组。而“/Xml_Configs/*/[@Front_Name="b"]”给了我无效的表达式错误。
感谢您提供的任何帮助,谢谢!
Completely new to using simple XML library in PHP, and have been using the w3 xpath syntax for assistance.
I have an xml file that looks roughly like this:
<Xml_Configs>
<Foo_Module>
<Front_Name>a</Front_Name>
</Foo_Module>
<Bar_Module>
<Front_Name>b</Front_Name>
</Bar_Module>
<Baz_Module>
<Front_Name>c</Front_Name>
</Baz_Module>
</Xml_Configs>
I'm trying to figure out which module has the Front_Name of b. Right now I've only been trying to get just the attribute to match, not caring about getting the parent, and here's what I've tried:
$xmlObj->xpath('/Xml_Configs/*[@Front_Name="b"]');
That gets me nothing, however: "/Xml_Configs/*/Front_Name" does give me an array of simple xml objects with a, b, and c. And "/Xml_Configs/*/[@Front_Name="b"]" gives me invalid expression errors.
Any help you can give is appreciated, thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
的,因为顶部元素
Xml_Configs
的子元素都没有任何属性。您想要:
这会选择顶部元素的所有子元素,这些元素的子元素名为
Font_Name
,且字符串值为"b"
。基于 XSLT 的验证:
当此转换应用于提供的 XML 文档时:
它将所选节点复制到输出:
I建议您获取XPath Visualizer -帮助成千上万的开发人员在享受乐趣的同时学习 XPath 的工具 同时。
Yes, because none of the elements that are children of the top element
Xml_Configs
have any attributes.You want:
This selects all children of the top element that have a child named
Font_Name
with string value"b"
.XSLT - based verification:
when this transformation is applied on the provided XML document:
it copies to the output the selected node:
I would recommend that you obtain the XPath Visualizer -- a tool that has helped thousands of developers learn XPath while having fun at the same time.