У меня проблемы с простым XML-кодированием. Я использую простое флэш-приложение для написания XML, содержащего данные о клиентах (простые вещи, такие как номер телефона, имя, адрес электронной почты и т. Д.)
Я понимаю, как писать XML вручную, но моя проблема возникает, когда я хочу создать элемент внутри другого элемента. Я использую AS3.
Так, например, у меня есть следующий xml.
<xmlcontainer>
<client>
<name>Marco</name>
<phone>123456789</phone>
</client>
<client>
<name>Roberto</name>
<phone>987654321</phone>
</client>
</xmlcontainer>
Если я хочу добавить новый элемент, это нормально. Но я не уверен, как добавить элемент ВНУТРИ, как только это будет сделано в коде.
До сих пор я использовал .appendChild(<client/>)
, но появляются ошибки, когда я делаю элемент внутри элемента. Я пытался писать как текстовый элемент (то есть вручную), просто набрав .appendChild("<client><name>Marco</name></client>")
, но символы меньше и больше, чем правильно, передаются неправильно.
Может ли кто-нибудь помочь мне здесь?
РЕДАКТИРОВАТЬ: По запросу, здесь полный код.
function appendXML():void{
var xmlData:XML = new XML();
var xmlrequest:URLRequest = new URLRequest(String("xml/clientelist.xml"));
xmlLoader.load(xmlrequest);
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
function LoadXML(e:Event):void
{
xmlData = new XML(e.target.data);
xmlData.appendChild(<pessoa/>);
xmlData.appendChild(<id/>);
xmlData.id.appendChild(idfield.text);
xmlData.appendChild(<nome/>);
xmlData.nome.appendChild(nomefield.text);
xmlData.appendChild(<email/>);
xmlData.email.appendChild(emailfield.text);
xmlData.appendChild(<contacto/>);
xmlData.contacto.appendChild(contacto1field.text);
trace(xmlData);
var fileb:FileReference = new FileReference;
fileb.save( xmlData, "clientelist.xml" );
}
(пессоа = человек, ном = имя, контактный = номер телефона)