如何在不使用循环的情况下将以下XMLList转换为字符串数组?
<labels>
<label>All</label>
<label>your</label>
<label>base</label>
<label>are</label>
<label>belong</label>
<label>to</label>
<label>us.</label>
</labels>
Run Code Online (Sandbox Code Playgroud)
我想要这个结果:
["All","your","base","are","belong","to","us."]
Run Code Online (Sandbox Code Playgroud)
现在,我正在做以下事情:
var labelsArray:Array /* of String */ = [];
for each (var labelText:String in labels.label)
{
labelsArray.push(labelText);
}
Run Code Online (Sandbox Code Playgroud)
我想知道在ActionScript 3.0中是否有更简单的方法可以做到这一点
我正在编写格式化 XML 文件的代码,以便子文件夹节点实际上嵌套在其父节点中。源 XML 将每个文件夹作为根中的单独子节点,而不是像您期望的那样在其主文件夹中包含子文件夹的正确树。这个问题的代码是关于:
// Load original XML
string sFile = "PathFile";
XmlDocument doc = new XmlDocument();
doc.Load(sFile);
var n = doc.DocumentElement.SelectNodes ("//*"); // Load all nodes into nodelist n
// int nCount = n.Count; // If uncommented code works
foreach(XmlNode x in n)
{ rest of the code }
Run Code Online (Sandbox Code Playgroud)
现在我的代码工作正常,但只是有时,即使在两次运行之间没有改变任何东西。我已将范围缩小为:在 Visual Studio 中调试代码时,如果我只是从头到尾运行代码,则会出错。如果我中途中断并查看 XmlNodelist n 中的属性(通过将光标悬停在它上面并查看元素计数),它确实可以工作。发现这一点后,我添加了
int nCount = n.Count;
Run Code Online (Sandbox Code Playgroud)
行,现在代码从头到尾在无人监督的情况下运行。
这里发生了什么,解决这个问题的正确方法是什么?注意: doc.LoadXml 不适用于此特定文件。
谢谢你的负担,
托马斯