Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Как создать ХМЛ документ?


Автор: t77 15.11.2008, 13:04
Доброго времени суток!
Необходимо програмно создать файл ХМЛ !!! Затем с помощью метода transformNode, сделать трансформацию!
Что то вроде этого:
Код

xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;          
xmldoc.load(Мой ХМЛ файл);
 
xsldoc = new ActiveXObject("Microsoft.XMLDOM");
xsldoc.async = false;
xsldoc.load(Мой XSL файл);
         
document.all['какой-нибудь DIV на сранице'].innerHTML = xmldoc.transformNode(xsldoc);

Так вот, как мне програмно создать ХМЛ файл ?
Структура ХМЛ должна быть следующей:
Код

<ITEMS>
<ITEM item_id="" title="">
</ITEM>
<ITEM item_id="" title="">
</ITEM>
<ITEM item_id="" title="">
</ITEM>
</ITEMS>


Каждый новый нод <ITEM item_id="" title=""></ITEM> создается в цикле:
 
Код

// создаю пустой ХМЛ
  var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
  xmlDoc.async = false;
  var rootObj = xmlDoc.documentElement;

for(var i=0; i<arr.length; i++)
 {
   //считываем число для ID из массива чисел 
   var myID = arr1[i];
   //считываем слово для Title из массива стрингов 
   var myTitle = arr2[1];
     
   //создаю нод для ХМЛ  
                
                //create new item node
                var newItem = xmlDoc.createElement("ITEM");    
                //create item ID attribute        
                var ItemID = xmlDoc.createAttribute("id");
                newItem.setAttributeNode(ItemID);
                newItem.setAttribute("id", myID);
                //create item title attribute
                var ItemTitle = xmlDoc.createAttribute("title");
                newItem.setAttributeNode(ItemTitle);
                newItem.setAttribute("title", myTitle);
                //add new Item 


               //присваиваю, созданный нод ХМЛ документу
                         rootObj.insertBefore(newItem, rootObj.childNodes.item(0));    

  }


Как теперь присвоить все созданные ноды( rootObj) моему ХМЛ объекту(xmlDoc) ???
Может быть делаю, что то не так ? Поправте пожалуйста !!!

Автор: SuperRembo 25.11.2008, 19:17
Особо не вчитываясь попрошу уточнения: какой файл ты хочешь создать временный (динамически создаётся окно в котором отображается наперёд заданое в исходном АшТэЭмЭл файле но храниться только в ОП) или как обычный на винчестере? (поскольку можно так и так, но первый вариант лучше  smile ).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)