E4X:抓住带名称空间的节点?

JD *_*cks 4 xml apache-flex e4x namespaces actionscript-3

我想学习如何在E4X中使用命名空间处理XML,所以基本上这就是我想要学习的内容,比如我有一些像这样的XML:

<rdf:RDF 
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/">
    <rdf:item value="5"/>
    <item value="10"/>
</rdf:RDF>
Run Code Online (Sandbox Code Playgroud)

我如何分配<rdf:item/>一个名为rdfItems<item/>的var 和一个名为regItems的var ?

谢谢!

men*_*ole 7

如果您的XML包含多个名称,但在从XML获取值时您不关心名称空间,则可以执行以下操作....

示例XML

<ns1:Item>
  <ns1:ItemType>Printed Material</ns1:ItemType>
  <ns2:Book isbn="123456">
    <ns2:Author>
      <ns2:FirstName>James</ns2:FirstName>
      <ns2:LastName>Smith</ns2:LastName>
    </ns2:Author>
    <ns2:Title>The Book Title</ns2:Title>
  </ns2:Book>
<ns1:Item> 
Run Code Online (Sandbox Code Playgroud)

您可以获得任何项目,无论这样的名称空间

var itemType:String = xml.*::ItemType;
var bookISBN:Number = xml.*::Book.@isbn;
var bookTitle:String = xml.*::Book.Title;
Run Code Online (Sandbox Code Playgroud)

  • 我不会改变.这会忽略所有名称空间. (2认同)