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
Actionscript 3.0中的XML解析问题_Xml_Actionscript 3_Parsing_Xmp - Fatal编程技术网

Actionscript 3.0中的XML解析问题

Actionscript 3.0中的XML解析问题,xml,actionscript-3,parsing,xmp,Xml,Actionscript 3,Parsing,Xmp,我在解析以下xml时遇到问题: <x:xmpmeta x:xmptk="Adobe XMP Core 5.0.0-ac001" xmlns:x="adobe:ns:meta/"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmp:rating="4" xmp:title="random" xmp:land="st

我在解析以下xml时遇到问题:

<x:xmpmeta x:xmptk="Adobe XMP Core 5.0.0-ac001" xmlns:x="adobe:ns:meta/">
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <rdf:Description rdf:about="" xmp:rating="4" xmp:title="random" xmp:land="stuff" 
    xmlns:xmp="http://ns.adobe.com/xap/1.0/"   xmlns:dc="http://purl.org/dc/elements/1.1/"/>
 </rdf:RDF>
</x:xmpmeta>

我尝试了不同的帕森斯,但由于冒号的缘故,没有成功


谢谢你的建议

您需要为所有要访问的名称空间创建名称空间对象,并使用适当的名称空间作为E4X属性的前缀。下面是一个如何读取值和迭代属性的示例:

var xmlString:String =
  '<x:xmpmeta x:xmptk="Adobe XMP Core 5.0.0-ac001" xmlns:x="adobe:ns:meta/">\
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\
    <rdf:Description rdf:about="" xmp:rating="4" xmp:title="random" xmp:land="stuff" \
      xmlns:xmp="http://ns.adobe.com/xap/1.0/"   xmlns:dc="http://purl.org/dc/elements/1.1/"/>\
   </rdf:RDF>\
  </x:xmpmeta>';
var rdf:Namespace = new Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
var xmp:Namespace = new Namespace('http://ns.adobe.com/xap/1.0/');
var xml:XML = new XML(xmlString);
for each (var description:XML in xml.rdf::RDF.rdf::Description) {
  var rating:String = description.@xmp::rating;
  var title:String = description.@xmp::title;
  var land:String = description.@xmp::land;
  trace(rating, title, land);

  // iterate over all the attributes
  for each (var attr:XML in description.attributes()) {
    trace(attr.name(), attr.localName());
  }
}
var-xmlString:String=
'\
\
\
\
';
var rdf:Namespace=新名称空间('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
var xmp:Namespace=新名称空间('http://ns.adobe.com/xap/1.0/');
var-xml:xml=newxml(xmlString);
对于每个(变量描述:XML.rdf::rdf.rdf::description中的XML){
var rating:String=description@xmp::rating;
变量title:String=description@xmp::title;
var-land:String=description@xmp::land;
跟踪(评级、所有权、土地);
//迭代所有属性
对于每个(description.attributes()中的var attr:XML){
跟踪(attr.name(),attr.localName());
}
}

您需要为所有要访问的名称空间创建名称空间对象,并使用适当的名称空间作为E4X属性的前缀。下面是一个如何读取值和迭代属性的示例:

var xmlString:String =
  '<x:xmpmeta x:xmptk="Adobe XMP Core 5.0.0-ac001" xmlns:x="adobe:ns:meta/">\
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\
    <rdf:Description rdf:about="" xmp:rating="4" xmp:title="random" xmp:land="stuff" \
      xmlns:xmp="http://ns.adobe.com/xap/1.0/"   xmlns:dc="http://purl.org/dc/elements/1.1/"/>\
   </rdf:RDF>\
  </x:xmpmeta>';
var rdf:Namespace = new Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
var xmp:Namespace = new Namespace('http://ns.adobe.com/xap/1.0/');
var xml:XML = new XML(xmlString);
for each (var description:XML in xml.rdf::RDF.rdf::Description) {
  var rating:String = description.@xmp::rating;
  var title:String = description.@xmp::title;
  var land:String = description.@xmp::land;
  trace(rating, title, land);

  // iterate over all the attributes
  for each (var attr:XML in description.attributes()) {
    trace(attr.name(), attr.localName());
  }
}
var-xmlString:String=
'\
\
\
\
';
var rdf:Namespace=新名称空间('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
var xmp:Namespace=新名称空间('http://ns.adobe.com/xap/1.0/');
var-xml:xml=newxml(xmlString);
对于每个(变量描述:XML.rdf::rdf.rdf::description中的XML){
var rating:String=description@xmp::rating;
变量title:String=description@xmp::title;
var-land:String=description@xmp::land;
跟踪(评级、所有权、土地);
//迭代所有属性
对于每个(description.attributes()中的var attr:XML){
跟踪(attr.name(),attr.localName());
}
}
您也可以使用

如果您想访问单个属性,可以使用它来提供所需的大多数名称空间

var xmp:Namespace = XMPConst.xmp;
trace(m.xmp::rating); //etc
您也可以使用

如果您想访问单个属性,可以使用它来提供所需的大多数名称空间

var xmp:Namespace = XMPConst.xmp;
trace(m.xmp::rating); //etc
var xmp:Namespace = XMPConst.xmp;
trace(m.xmp::rating); //etc