我有一个大型xml文件中的以下xml。
<Text>
<cp IX='0'/>
<pp IX='0'/>
<tp IX='0'/>Wo<cp IX='1'/>rl<cp IX='2'/>d<cp IX='3'/>
<cp IX='4'/>!!<cp IX='5'/>
</Text>
有没有办法分别访问“cp”和“tp”节点之间的文本(例如:Wo,rl,d,!!)? 我可以将它们作为单个字符串获取但是,我需要像数组一样单独使用它们。感谢..
答案 0 :(得分:1)
您可以在XML属性上使用text()方法:
var myXML : XML = <Text>
<cp IX='0'/>
<pp IX='0'/>
<tp IX='0'/>Wo<cp IX='1'/>rl<cp IX='2'/>d<cp IX='3'/>
<cp IX='4'/>!!<cp IX='5'/>
</Text>
var text : String = myXML.text().toString();
trace (text); // output World!!
答案 1 :(得分:0)
基本上Wo
,rl
,d
和!!
是Text
节点的子节点。他们的类型是TEXT_NODE
。
所以我建议迭代所有Text
个子节点,并将那些类型为TEXT_NODE
的子节点存储为数组元素。
答案 2 :(得分:0)
您应该将<Text>
标记内容作为字符串,并使用正则表达式拆分:
var array:Array = textTagContent.split(/<\S*[^>]*>/);
trace(array) // ,,,Wo,rl,d,,!!,
修剪它!
a = trimArray(a);
使用它!
trace(a) // Wo,rl,d,!!
修剪功能:
function trimArray(array:Array):Array {
var a:Array = [];
for each (var item in array)
{
if (item) {
a.push(item);
}
}
return a;
}