Почему скрипт действия только назначает часть строки переменной? - PullRequest
1 голос
/ 24 мая 2011

У меня есть XML-документ, который я должен жестко запрограммировать в AS (да, я должен). Я пытаюсь присвоить этот xml строке, но по какой-то причине назначено объявление xml?!

var xmlDoc:String = '<?xml version="1.0" encoding="UTF-8"?>';
    xmlDoc += '<?dctm xml_app=" ......

Когда я отслеживаю строку xmlDoc, я всегда получаю только "<? Xml version =" 1.0 "encoding =" UTF-8 "?>"

Я попытался поместить весь документ в одну строку, окруженную символом 's', и конкатенировать строку, как указано выше. Почему строка var присваивается только первой строке?

Я получаю тот же результат, когда пытаюсь загрузить документ XML прямо из файла

var xmlDocument:XML = new XML();
    xmlDocument.load("myxml.xml");

    xmlDocument.onLoad(success:Boolean)
    {
    if(success)
    {
    trace(xmlDocument.toString());   //Just the first line is printed
    }

    }

Спасибо

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Почему бы вам просто не присвоить его переменной XML ..?

var xml:XML =
<shop>
    <item id="10">
        <price>20</price>
    </item>
</shop>;

Похоже, вы пытаетесь использовать AS2.

Вам необходимо заменитьxmlDocument.toString() с this вроде так:

var xml:XML = new XML();

xml.onLoad = function(success:Boolean):Void
{
    if(success)
    {
        trace(this);
    }
}

xml.load("file.xml");
1 голос
/ 24 мая 2011

пара вещей, которые я вижу с ограниченным количеством проблемы xml, которую вы разместили

сначала вам нужно использовать пробелы

// пробел перед последним?

var xmlDoc:String = '<?xml version="1.0" encoding="UTF-8"?>';
//should be 
var xmlDoc:String = '<?xml version="1.0" encoding="UTF-8" ?>';

Во-вторых, я забыл, как это называется, но на второй строке вы начинаете с?снова, где это должно быть определение вашего корневого узла

// this is bad
    xmlDoc += '<?dctm xml_app=" ......
// should be assuming dctm is your node name
    xmlDoc += '<dctm xml_app=" ......

Чтобы подвести итог, следите за интервалом и не используйте вопросительные знаки в именах узлов.

Также попытайтесь сбежатьили у вас будут проблемы позже, если вы используете cData

var xmlDoc:String = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...