如:
<Document>
<Master>
<Field name="ID" value="12345">
</Head>
<Detail>
<Field name="Name" value="SBC">
<Field name="Sex" value="Male">
</Detail>
</Document>
作法:
0. 需引用System.Xml命名空間;
1. 首先使用XmlDocument建構一XML object,例:
XmlDocument xdTest = new XmlDocument();
2. 因XML是由許多節點所組成,因此使用XmlDocument提供的CreateElement方法來建立節點,並assign給XmlElement object,例:
XmlElement xeDocument = xdTest.CreateElement("Document");
可使用<List>XmlElement xeDocument = new List<XmlElement>();
使用迴圈將節點加進去,例:
xeDocument.Add(xdTest.CreateElement("Field"));
或
xeDocument[index] = xdTest.CreateElement("Field");
3. 設定節點的屬性,如<Field name="ID" value="12345">,Field此節點下有兩個屬性(name與value),透過XmlElement的SetAttribute方法來設定屬性,例:
xeField.SetAttribute("name", "ID");
xeField.SetAttribute("value", "12345");
4. 最後使用XmlElement.AppendChild方法將子節點一層一層加回根節點與XmlDocument object,建立階層關係,例:
xeMaster.AppendcChild(xeField);
xdTest.AppendChild(xeDocument);
5. 接著使用XmldDocument的InnerXml屬性即可檢視產生之XML,例:
string strXml = xdTest.InnerXml;
6. 若要匯出文件,可使用XmlTextWriter類別,例:
XmlTextWriter writer = new XmlTextWriter(@"C:\Test.xml", encoding);
//設定是否縮排
writer.Formatting = Formatting.Indented;
xdTest.Save(writer);
參考資料:
http://www.wangqi.com/html/2007-01/9824.htm
http://www.dotblogs.com.tw/killysss/archive/2010/01/06/12853.aspx
http://www.dotblogs.com.tw/yc421206/archive/2010/08/10/17108.aspx
沒有留言:
張貼留言