第一關 - 你的XML是無效的:
<data>
<id="1"></id>
這不是一個有效的XML結構 - 又該它是?
數據節點上的「ID」屬性? <data id="1">
一個「ID」元素的值在裏面嗎? <data><id>1</id>
有一噸的方法可以做到這一點 - 完全取決於您的情況:
如果您使用傳統的XML文檔處理,如果您的文件相對較小(因爲它將整個文件加載到內存中),這種方式效果最佳。在這種情況下,你可以這樣做:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("yourfilename.xml");
XmlNodeList dataNodes = xmlDoc.SelectNodes("/information/data");
foreach(XmlNode node in dataNodes)
{
int id = Convert.ToInt32(node.SelectSingleNode("id").InnerText);
string name = node.SelectSingleNode("name").InnerText;
int age = Convert.ToInt32(node.SelectSingleNode("age").InnerText);
// insert into database, e.g. using SqlCommand or whatever
}
至於插入到數據庫 - 您可以在SqlCommand
使用存儲過程或SQL語句 - 完全取決於你。一旦你有了三位信息(身份證,姓名,年齡),你可以用你喜歡的任何方式做。
也有警告字:這包括沒有錯誤檢查什麼!如果一個<data>
節點應該不完整或者一個子節點的名稱錯誤,這將會崩潰 - 您還需要提供一些錯誤檢查! (爲了簡化,不)
馬克
你能在代碼視圖中發佈XML,以便我們可以看到標籤和內容嗎? – 2009-09-29 05:29:10
@maxy:您需要突出顯示您的XML和SQL結構,然後單擊編輯控件工具欄上的「代碼」按鈕(010 101)以使其顯示出來,以便讀者可以正確地看到它! – 2009-09-29 05:36:29