现在的位置: 首页 > 综合 > 正文

^_^,学习javascript,上下移动行后用js把数据保存到xml文件中,然后在服务器端读这个xml保存到数据库中

2013年05月09日 ⁄ 综合 ⁄ 共 3351字 ⁄ 字号 评论关闭

//(记住这个xml文件不能在客户端保存哦,可以放到一个hiddenFile里)

function CreateXmls()
{
    var rowsArray = document.all('tblList').rows;//得到这个表的所有行
    var  oxml=new ActiveXObject("Microsoft.XMLDOM"); //创建一个xml对象  
    oxml = document.createElement("Data");//创建一个"data"元素<data></data>

     for(var i=1;i<rowsArray.length;i++)
     {
        if(rowsArray[i].cells[1]==null||rowsArray[i].cells[3]==null||rowsArray[0].cells[2]==null)break;
        oItem = oxml.appendChild(document.createElement("Item"));//创建Item元素并把它做为data的子节点
        ItemId = oItem.appendChild(document.createElement("ItemId"));//创建ItemId元素并把它做为Item的子节点
        ItemName = oItem.appendChild(document.createElement("ItemName"));"));//创建ItemName 元素并把它做为Item的子节点

        ItemType = oItem.appendChild(document.createElement("ItemType"));//创建ItemType元素并把它做为Item的子节点
        ItemId.appendChild(document.createTextNode(rowsArray[i].cells[2].innerText));//创建文本节点并把它做为ItemId的子节点
        ItemName.appendChild(document.createTextNode(rowsArray[i].cells[3].innerText));
        ItemType.appendChild(document.createTextNode(rowsArray[i].cells[1].innerText));
     }

    //rowsArray[i].cells[2].innerText:表示当前行的第三列的innerText值
    var hidValue=document.getElementById("ctl00_ContentPlaceHolder1_hidXmlString");
    hidValue.value= oxml.outerHTML;
  }    

//*innerHTML ,...区别

innerHTML 设置或获取位于对象起始和结束标签内的 HTML
outerHTML 设置或获取对象及其内容的 HTML 形式
innerText 设置或获取位于对象起始和结束标签内的文本
outerText 设置(包括标签)或获取(不包括标签)对象的文本
innerText 和outerText 在读取得时候是一样的,只是在设置的时候outerText 会连带标签一起替换成目标文本
firefox不支持innerText ,但是可以用textContent作为替代方案。

//测试

<div id="div"><font color="green"><h2>This is a DIV!</h2></font></div>
<input name="innerHTML" value="innerHTML" type="button" OnClick="alert(div.innerHTML);">//结果:"><font color="green"><h2>This is a DIV!</h2></font>


<input name="outerHTML" value="outerHTML" type="button" OnClick="alert(div.outerHTML);">//结果:<div id="div"><font color="green"><h2>This is a DIV!</h2></font></div>

<input name="innerText" value="innerText" type="button" OnClick="alert(div.innerText);">
<input name="outerText" value="outerText" type="button" OnClick="alert(div.outerText);">

*/

//创建出来的xml

<data>

  <item>

    <itemId>1</itemId>

    <ItemName>ff</ItemName>

    <ItemType>1</ItemType>

  <item>

 

  <item>

    <itemId>1</itemId>

    <ItemName>ff</ItemName>

    <ItemType>1</ItemType>

  <item>

.......

</data>

 

 

//服务器端读xml保存到数据库:

protected void saveXmlTodatabase()

{

       string xmlString = this.hidXmlString.Value.Trim();  //从hiddenbutton里将xml取出来
 
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xmlString);//加载成一个xml文件
        XmlNodeList rootList = doc.SelectSingleNode("Data").ChildNodes;
        Dictionary promotion = new Dictionary();
        bool flag = false;

        foreach (XmlNode xFNode in rootList)
        {
            XmlElement xe1 = (XmlElement)xFNode;
            XmlNodeList xItemList=xe1.ChildNodes;//继续获取xe子节点的所有子节点
            foreach (XmlNode xNnode in xItemList)
            {
              
                XmlElement xe = (XmlElement)xNnode; 
              
                if (xe.Name.ToLower() == "itemid")
                {
                    promotion["promo_rank"] = xe.InnerText;
                }
                if (xe.Name.ToLower() == "itemname")
                {
                    promotion["promo_name"] = xe.InnerText;
                }
                if (xe.Name.ToLower() == "itemtype")
                {
                    promotion["promo_type"] = xe.InnerText;
                }
            }
           flag=BLLSales.AddOrUpdatePromotionByRank(promotion, Enums.DataAccessMode.Update);
        }

}
 

抱歉!评论已关闭.