如何根据以“something”开头的属性值选择 xml 元素在动作脚本3中

发布于 2024-12-08 05:35:08 字数 691 浏览 0 评论 0原文

比如说,我有一个如下所示的 xml:

public static var keywords:XML = <keywords>
   <tag key="html" type="tag"/>
   <tag key="htmlNew" type="attr"/>
   <tag key="head" type="attr"/>
   <tag key="body" type="attr"/>
</keywords>;

我需要按属性值搜索此 xml。如果用户提供“html”输入,那么我需要返回 节点作为 XMLList。它是从通过 xml 属性进行类型搜索开始的。请任何人提供任何类型的解决方案或建议。对于直接属性匹配,我使用了以下代码:

var closeMatchList:XMLList = xml.tag.(@key == "html") as XMLList;

它仅返回 标签

这种解决方案可能吗?请任何人提供任何类型的解决方案。我被这个问题困扰了很长时间。提前致谢。

say, I have an xml like as follows:

public static var keywords:XML = <keywords>
   <tag key="html" type="tag"/>
   <tag key="htmlNew" type="attr"/>
   <tag key="head" type="attr"/>
   <tag key="body" type="attr"/>
</keywords>;

I need to search this xml by attribute value. If user provides input as "html" then I need to return both <tag key="html" type="tag"/> <tag key="htmlNew" type="attr"/> node as XMLList. It kind of start with type searching by xml attribute. Please anybody provide any kind of solution or suggestion. for direct attribute matching I have used following code:

var closeMatchList:XMLList = xml.tag.(@key == "html") as XMLList;

It returns only <tag key="html" type="tag"/> tag

Is this kind of solution is possible?? please anybody provide any kind of solution. I am stuck with this problem for long time. thanks in advance.

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

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

发布评论

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

评论(2

心碎无痕… 2024-12-15 05:35:08

如果没有第三方库,您也可以这样做:

keywords.tag.(attribute("key").indexOf("html")==0)

Without third party libraries you could also do this:

keywords.tag.(attribute("key").indexOf("html")==0)

ActionScript3 的 XPath 库 (xpath-as3) 可以轻松完成此操作。

public static var keywords:XML = ...;

var thePath:String = "/keywords/tag[starts-with(@key, 'html')]";
var html:NodeSet = XPath.evaluate(thePath, keywords);  

使用该库的其他一些方法可以在此处。

There is an XPath library for ActionScript3 (xpath-as3) that can do this easily.

public static var keywords:XML = ...;

var thePath:String = "/keywords/tag[starts-with(@key, 'html')]";
var html:NodeSet = XPath.evaluate(thePath, keywords);  

Some other ways to use the library can be seen over here.

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