这是从xml文件中获取用户名和密码的代码,但是它不能获取数据?

时间:2013-04-17 08:56:04

标签: flex4 flex3 flash-cs5 flash

以下是从xml文件中获取用户名和密码的代码,但它不会获取数据吗?

private var myXML: XML = new XML();
private function connect(event: Event): void {
  var str1: String = username.text.toString();
  trace(str1);
  var str2: String = password.text.toString();
  trace(str2);
  var str3: String = myXML.authentication.username;
  Alert.show(str3);
  var str4: String = myXML.authentication.password;
  if (str1 == str3 && str2 == str4) {
    Alert.show("sucessfully Connected")
  } else {
    Alert.show("invalid username password");
  }
}

2 个答案:

答案 0 :(得分:0)

您为myXML分配数据的位置是什么?

var settingFile:File;
var stream:FileStream;
var resultXML:XML;
settingFile = settingFile.resolvePath("setting.xml");
        stream = new FileStream;
        if(settingFile.exists)
        {
            stream.open(settingFile,FileMode.READ);
          resultXML = XML(stream.readUTFBytes(stream.bytesAvailable));
         stream.close();
         var xmlDoc:XMLDocument = new XMLDocument(resultXML.toString());
         var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);
         var resultObj:Object = decoder.decodeXML(xmlDoc);
}

从该结果可以访问用户名和密码

如果您使用的是FlexApplication,则将xml文件转换为xmlDocument并对其进行解码。然后从解码的对象中获取用户名和密码。

     var xmlDoc:XMLDocument = new XMLDocument(myXML.toString());
     var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);
     var resultObj:Object = decoder.decodeXML(xmlDoc);

你可以这样试试。

private var myXML: XML = new XML();


private function connect(event: Event): void {

var xmlDoc:XMLDocument = new XMLDocument(myXML.toString());
var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);
var resultObj:Object = decoder.decodeXML(xmlDoc);

var str1: String = username.text.toString();
trace(str1);
var str2: String = password.text.toString();
trace(str2);
var str3: String = resultObj.authentication.username;
Alert.show(str3);
var str4: String = resultObj.authentication.password;
if (str1 == str3 && str2 == str4) {
  Alert.show("sucessfully Connected")
} else {
  Alert.show("invalid username password");
}
}

答案 1 :(得分:0)

为什么不尝试使用URL加载器加载XML文件并捕获COMPLETE事件以获取数据?