Forcing Assets to deploy on android?

I'm using Unity free and Unity Android (no pro versions). I've got some really basic C# written to grab an xml file from the assets folder and deserialize it back into game data. This works great in the editor, but when I build and deploy to an android device, I am getting a null reference error. That implies the file isn't there, right? Is there some trick to making sure the file is deployed with the rest of the unity game?

Here's the code in question:

public bool LoadStory(string file)
{
    string fullpath = Application.dataPath + "/Resources/Data/" + file + ".xml";

    bool loaded = false;
    object obj;

    if (file != null)
    {
        Story LoadedStory = new Story();

        FileStream LocFile = new FileStream(fullpath, FileMode.Open);

        XmlSerializer serializer = new XmlSerializer(typeof(Story));

        obj = serializer.Deserialize(LocFile) as Story;

        LocFile.Close();

        LoadedStory = obj as Story;

            if (LoadedStory != null)
            {
                // then some stuff gets done here. Or would, if it could load. ;)
            }
        }

    return loaded;
}

Am I doing this totally wrong?

I think you can't access folders different than the "Resources" one from within the App with Unity Basic. There you can store assets,textures and medias but I don't think a text file, I may be wrong.

The best alternative bet for you would be store the XML on an http server, downloading with the www.load command and then make your data dig in unity script parsing the string.

Tom