^_^,學習javascript,上下移動行後用js把資料儲存到xml檔案中,然後在伺服器端讀這個xml儲存到資料庫中

來源:互聯網
上載者:User

//(記住這個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);
        }

}
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.