Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从包含:(冒号)的xml标记获取数据_Xml_Actionscript 3_Flash_Air_Rss - Fatal编程技术网

从包含:(冒号)的xml标记获取数据

从包含:(冒号)的xml标记获取数据,xml,actionscript-3,flash,air,rss,Xml,Actionscript 3,Flash,Air,Rss,我正在使用AIR构建一个应用程序,该应用程序将搜索并显示DeviceArt的缩略图,并以RSS提要的形式显示获取结果的请求URL 为了简单起见,我展示了我唯一有问题的代码 我们可以用这个做标签 trace(myxml.channel.item[0].title); 但是对于像媒体这样的标签该怎么办:内容 trace(myxml.channel.item[0].media:content); 但它不起作用 冒号把我弄糊涂了试着用 元素(名称:Object):XMLList 包装{ 导入flas

我正在使用AIR构建一个应用程序,该应用程序将搜索并显示DeviceArt的缩略图,并以RSS提要的形式显示获取结果的请求URL 为了简单起见,我展示了我唯一有问题的代码

我们可以用这个做标签

trace(myxml.channel.item[0].title);
但是对于像媒体这样的标签该怎么办:内容

trace(myxml.channel.item[0].media:content);
但它不起作用 冒号把我弄糊涂了

试着用 元素(名称:Object):XMLList

包装{ 导入flash.display.Sprite

public class XmlExample extends Sprite {        
    public function XmlExample() {
        var employees:XML =
            <employees>
                <employee ssn="123-123-1234">
                    <name first="John" last="Doe"/>
                    <address>
                        <street>11 Main St.</street>
                        <city>San Francisco</city>
                        <state>CA</state>
                        <zip>98765</zip>
                    </address>
                </employee>
                <employee ssn="789-789-7890">
                    <name first="Mary" last="Roe"/>
                    <address>
                        <street>99 Broad St.</street>
                        <city>Newton</city>
                        <state>MA</state>
                        <zip>01234</zip>
                    </address>
                </employee>
            </employees>;

        trace(employees.employee[0].address.zip);   // 98765

        trace(employees.employee[1].@ssn);          // 789-789-7890

        trace(employees.employee.name);             // <name first="John" last="Doe"/>
                                                    // <name first="Mary" last="Roe"/>

        trace(employees..zip[0]);                   // 98765

        trace(employees..@ssn[1]);                  // 789-789-7890

        trace(employees..name);                     // <name first="John" last="Doe"/>
                                                    // <name first="Mary" last="Roe"/>

        trace(employees.employee[0].address.*);     // <street>11 Main St.</street>    
                                                    // <city>San Francisco</city>
                                                    // <state>CA</state>
                                                    // <zip>98765</zip>
        var node:String = "zip";
        trace(employees.employee[0].address[node]); // 98765

        var attribute:String = "ssn";
        trace(employees.employee[1].@[attribute]);  // 789-789-7890

        for each (var num:XML in employees..@ssn) {
            trace(num);                             // 123-123-1234
        }                                           // 789-789-7890

        var ssnToFind:String = "789-789-7890";
        trace(employees.employee.(@ssn == ssnToFind).toXMLString());
                                                    // <employee ssn="789-789-7890">
                                                    // <name first="Mary" last="Roe"/>
                                                    // <address>
                                                    // <street>99 Broad St.</street>
                                                    // <city>Newton</city>
                                                    // <state>MA</state>
                                                    // <zip>01234</zip>
                                                    // </address>
                                                    // </employee>
    }
}
public类XmlExample扩展了Sprite{
公共函数XmlExample(){
var:XML=
主大街11号。
旧金山
加利福尼亚州
98765
博德街99号。
牛顿
文科硕士
01234
;
跟踪(employees.employee[0].address.zip);//98765
trace(employees.employee[1].@ssn);//789-789-7890
跟踪(employees.employee.name);//
// 
跟踪(employees..zip[0]);//98765
跟踪(员工..@ssn[1]);//789-789-7890
跟踪(员工..姓名);//
// 
跟踪(employees.employees[0].地址。*);//11 Main St。
/旧金山
//CA
// 98765
var节点:String=“zip”;
跟踪(employees.employees[0]。地址[节点];//98765
var属性:String=“ssn”;
跟踪(employees.employee[1].@[attribute]);//789-789-7890
对于每个(员工中的var num:XML..@ssn){
跟踪(num);//123-123-1234
}                                           // 789-789-7890
var ssnToFind:String=“789-789-7890”;
跟踪(employees.employee.(@ssn==ssnToFind.toXMLString());
// 
// 
// 
//博德街99号。
//牛顿
//妈
// 01234
// 
// 
}
}

}

在XML中,冒号用于在完全限定的XML名称中分隔名称空间前缀和本地名称。您可以在文档中搜索有关如何处理XML名称空间的示例

XML名称空间是使用
xmlns
属性在文档中的某个位置声明的。如果有前缀元素(如
media:content
),则在您正在读取的标记或祖先标记(通常但不总是根标记)中应该有
xmlns:prefix='namespace'
声明(如
xmlns:media=“some namespace uri”

通过从文件中按前缀读取名称空间,并将其分配给变量,可能可以使其正常工作。然后使用双冒号作为选择器的前缀:

var media:Namespace = myxml.namespace('media');
trace(myxml.channel.item[0].media::content); 

首先,如果xml中存在已知名称空间的冒号,那么它就是简单的标记。 因此,从名称空间中读取数据与简单标记没有什么不同。 我可以向您展示一些示例,但是如果您共享xml格式,那么我可以为您编写相应的代码

以下是示例代码:

xmlData.ignoreWhitespace=true;
var awsNS:Namespace = new Namespace("http://www.aws.com/aws");
xmlDataVO.state=xmlData..awsNS::["city-state"];
xmlDataVO.country=xmlData..awsNS::["country"];
xmlDataVO.sunriseHour=xmlData..awsNS::sunrise..awsNS::["hour"].@number;
xmlDataVO.sunriseMinute=xmlData..awsNS::sunrise..awsNS::["minute"].@number;
我的xml格式是这样的

<aws:weather xmlns:aws="http://www.aws.com/aws">
    <aws:city-state citycode="64469">Delhi,  IN</aws:city-state>
    <aws:country>India</aws:country>


    <aws:sunrise>
          <aws:hour number="7" hour-24="07"/>
          <aws:minute number="13"/>
       </aws:sunrise>
 </aws:weather>

新德里
印度

您没有告诉我冒号我应该如何处理它们我发现xmlns:media=”“我应该这样做吗var media:Namespace=myxml.Namespace(');