首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于子属性的e4x查询

基于子属性的e4x查询
EN

Stack Overflow用户
提问于 2009-05-25 08:17:31
回答 2查看 1.4K关注 0票数 1

我正在尝试执行一个E4X查询(在下面的xml上),它将返回包含"metadata“节点的所有"accessor”节点,该节点的"name“属性等于"Required”。

我试过..。

代码语言:javascript
复制
type.accessor.(metadata.@name == "Required")

仅适用于只有一个元数据节点的访问器节点的...but。

有什么线索吗?

代码语言:javascript
复制
<type name="org.springextensions.actionscript.ioc.testclasses::PersonRequiredName" base="org.springextensions.actionscript.ioc.testclasses::Person" isDynamic="false" isFinal="false" isStatic="false">
  <metadata name="__go_to_definition_help">
    <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\PersonRequiredName.as"/>
    <arg key="pos" value="935"/>
  </metadata>
  <extendsClass type="org.springextensions.actionscript.ioc.testclasses::Person"/>
  <extendsClass type="Object"/>
  <constructor>
    <parameter index="1" type="String" optional="true"/>
    <parameter index="2" type="int" optional="true"/>
    <parameter index="3" type="Boolean" optional="true"/>
  </constructor>
  <accessor name="name" access="readwrite" type="String" declaredBy="org.springextensions.actionscript.ioc.testclasses::PersonRequiredName">
    <metadata name="Required"/>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\PersonRequiredName.as"/>
      <arg key="pos" value="1163"/>
    </metadata>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\PersonRequiredName.as"/>
      <arg key="pos" value="1249"/>
    </metadata>
  </accessor>
  <variable name="age" type="int">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="1070"/>
    </metadata>
  </variable>
  <accessor name="siblings" access="readonly" type="Array" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3724"/>
    </metadata>
  </accessor>
  <method name="addFriend" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person" returnType="void">
    <parameter index="1" type="org.springextensions.actionscript.ioc.testclasses::Person" optional="false"/>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="2424"/>
    </metadata>
  </method>
  <method name="toString" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person" returnType="String">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3181"/>
    </metadata>
  </method>
  <method name="helloWorld" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person" returnType="String">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="2159"/>
    </metadata>
  </method>
  <method name="equals" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person" returnType="Boolean">
    <parameter index="1" type="org.springextensions.actionscript.ioc.testclasses::Person" optional="false"/>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="1932"/>
    </metadata>
  </method>
  <method name="hasSibling" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person" returnType="Boolean">
    <parameter index="1" type="org.springextensions.actionscript.ioc.testclasses::Person" optional="false"/>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="2789"/>
    </metadata>
  </method>
  <accessor name="writeObject" access="writeonly" type="Object" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3950"/>
    </metadata>
  </accessor>
  <variable name="colleague" type="org.springextensions.actionscript.ioc.testclasses::Person">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="1132"/>
    </metadata>
  </variable>
  <variable name="anArray" type="Array">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="1166"/>
    </metadata>
  </variable>
  <method name="addSibling" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person" returnType="void">
    <parameter index="1" type="org.springextensions.actionscript.ioc.testclasses::Person" optional="false"/>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="2605"/>
    </metadata>
  </method>
  <variable name="anObject" type="Object">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="1197"/>
    </metadata>
  </variable>
  <accessor name="friends" access="readwrite" type="Array" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3583"/>
    </metadata>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3645"/>
    </metadata>
  </accessor>
  <accessor name="isMarried" access="readwrite" type="Boolean" declaredBy="org.springextensions.actionscript.ioc.testclasses::Person">
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3434"/>
    </metadata>
    <metadata name="__go_to_definition_help">
      <arg key="file" value="C:\workspace\spring-actionscript\core\src\test\actionscript\org\springextensions\actionscript\ioc\testclasses\Person.as"/>
      <arg key="pos" value="3502"/>
    </metadata>
  </accessor>
</type>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-25 08:53:26

这似乎起作用了:

代码语言:javascript
复制
type.accessor.(hasOwnProperty("metadata") && metadata.attribute("name").contains("Required"))
票数 4
EN

Stack Overflow用户

发布于 2009-05-27 03:33:43

这都是关于括号的。

改为尝试此操作(cleaner)

代码语言:javascript
复制
var list:XMLList;

xmlList = type.accessor.metadata.(@name == "Required");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/905844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档