Javascript E4X:根据属性值选择节点

发布于 2024-07-27 12:38:14 字数 657 浏览 10 评论 0原文

考虑以下场景:

使用 Javascript/E4X,在非浏览器使用场景(Javascript HL7 集成引擎)中,有一个变量保存可能具有多个重复节点的 XML 片段。

<pets>       
 <pet type="dog">Barney</pet>
 <pet type="cat">Socks</pet>
</pets>

代码:

var petsXml; // pretend it holds the above xml value
//var cat = petsXml['pet']..... ?

问题:使用E4X,如何选择type属性包含字符串“cat”值的正确宠物节点?

更新:

使用 E4X 的一些学习:

  • 通过属性值选择单个/第一个节点: vardog = petsXml.(@type == "dog");
  • 获取来自一个节点的特定属性的值:var petType = somePetNode.@type;

Consider this scenario:

Using Javascript/E4X, in a non-browser usage scenario (a Javascript HL7 integration engine), there is a variable holding an XML snippet that could have multiple repeating nodes.

<pets>       
 <pet type="dog">Barney</pet>
 <pet type="cat">Socks</pet>
</pets>

Code:

var petsXml; // pretend it holds the above xml value
//var cat = petsXml['pet']..... ?

Question: using E4X, how can you select the correct pet node with the type attribute holding the value of string 'cat'?

Update:

Some learnings with E4X:

  • to select a single/first node by an attribute value: var dog = petsXml.(@type == "dog");
  • to get a value from one node's specific attribute: var petType = somePetNode.@type;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小…楫夜泊 2024-08-03 12:38:14
var petsXml;
var catList = petsXml.*.(@type == "cat");

请参阅此处的“过滤器”或此处

var petsXml;
var catList = petsXml.*.(@type == "cat");

See "Filters" here or "parameterized locate" over here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文