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
如何获取XML对象引用而不是as3中的值_Xml_Actionscript 3_Pointers_Reference - Fatal编程技术网

如何获取XML对象引用而不是as3中的值

如何获取XML对象引用而不是as3中的值,xml,actionscript-3,pointers,reference,Xml,Actionscript 3,Pointers,Reference,我觉得这个问题有一个非常简单的答案,我只是忽略了它。我需要一个指向一段XML的指针。我可以得到一个指向父节点的指针,一切正常,但试图得到一个指向没有子节点的节点的指针只会返回该节点的值 下面是一个例子: <body> <parentNode> <subNode>value</subNode> </parentNode> </body> 如果您跟踪它,它将是上面显示的没有body标记的xml 下面我将尝试获取

我觉得这个问题有一个非常简单的答案,我只是忽略了它。我需要一个指向一段XML的指针。我可以得到一个指向父节点的指针,一切正常,但试图得到一个指向没有子节点的节点的指针只会返回该节点的值

下面是一个例子:

<body>
  <parentNode>
    <subNode>value</subNode>
  </parentNode>
</body>
如果您跟踪它,它将是上面显示的没有body标记的xml

下面我将尝试获取指向子节点的指针:

var subNode = xml.parentNode.subNode;
跟踪子节点只是值,没有指向原始xml对象的指针,因此编辑子节点变量只会更改其值,而不会更改原始xml对象中的值


如何获取指向子节点的指针,以便对其进行编辑以更改原始xml对象?

下面是一个代码示例:

var xml : XML = <a><b><c>test</c></b></a>;
var cNode : XML = XML(xml.b.c);
trace("1:", cNode.toXMLString());
cNode.setChildren("Hello King Kong");
trace("2:", cNode.toXMLString());
trace("3:", xml);

//output :
//1: <c>test</c>
//2: <c>Hello King Kong</c>
//3: <a>
//  <b>
//    <c>Hello King Kong</c>
//  </b>
//</a>
var-xml:xml=test;
var cNode:XML=XML(XML.b.c);
跟踪(“1:,cNode.toXMLString());
cNode.setChildren(“你好,金刚”);
跟踪(“2:,cNode.toXMLString());
跟踪(“3:”,xml);
//输出:
//1:测试
//2:你好,金刚
//3: 
//  
//金刚你好
//  
//

实际上,如果跟踪节点,它将被强制转换为字符串,获取childnode textvalue,而不是实际节点。如果将节点放在XML类型的变量中,它将是实际的节点

所以


如果你不想有所帮助,请离开。我明白了,字符串值是“c”节点的子节点。我错过了那部分。谢谢
var xml : XML = <a><b><c>test</c></b></a>;
var cNode : XML = XML(xml.b.c);
trace("1:", cNode.toXMLString());
cNode.setChildren("Hello King Kong");
trace("2:", cNode.toXMLString());
trace("3:", xml);

//output :
//1: <c>test</c>
//2: <c>Hello King Kong</c>
//3: <a>
//  <b>
//    <c>Hello King Kong</c>
//  </b>
//</a>
node:XML = c; will be the node.
node:String = c; will be the textvalue of that node.