Dim?xmlDoc?As?New?System.Xml.XmlDocument
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、點軍網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、商城網(wǎng)站建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為點軍等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
xmlDoc.Load("c:\xml.xml")?'載入xml文件
Dim?Items?As?Xml.XmlNodeList?=?xmlDoc.DocumentElement.SelectNodes("http://record/item")?'參數(shù)為xpath查詢串,前面斜杠,//:表示任何結(jié)點,/:表示根結(jié)點
For?Each?s?As?Xml.XmlNode?In?Items
Console.WriteLine(s.Attributes.GetNamedItem("id").Value??vbTab??s.InnerText)
Next
DataSet 和 DataTable都有現(xiàn)成的方法:WriteXml
DataTable tb = this.dataGridView1.DataSource as DataTable;
if(tb != null)
{
tb.WriteXml(@"C:\table.xml",true);
return;
}
DataView dv = this.dataGridView1.DataSource as DataView;
if(dv != null)
{
dv.Table.WriteXml(@"C:\table.xml",true);
return;
}
IList list = this.dataGridView1.DataSource as IList;
if(list != null)
{
//to do,如果是IList,就要你自己想辦法導(dǎo)出了
//XmlDocument or XmlWriter都可以考慮
}
先讀取節(jié)點Match,然后讀取節(jié)點內(nèi)的各個屬性值。
再進(jìn)行節(jié)點中的子節(jié)點SetSetName的讀取,讀取方式也是直接讀取各個屬性值。
DataSet
和
DataTable
都有現(xiàn)成的方法:WriteXml
DataTable
tb
=
this.
dataGridView
1.DataSource
as
DataTable;
if(tb
!=
null)
{
tb.WriteXml(@"C:\table.xml",true);
return;
}
DataView
dv
=
this.dataGridView1.DataSource
as
DataView;
if(dv
!=
null)
{
dv.Table.WriteXml(@"C:\table.xml",true);
return;
}
IList
list
=
this.dataGridView1.DataSource
as
IList;
if(list
!=
null)
{
//to
do,如果是IList,就要你自己想辦法導(dǎo)出了
//XmlDocument
or
XmlWriter
都可以考慮
}
Dim path As String = PDA_PATH "ife.XML" ’PDA_PATH 為路徑
Dim ds As New DataSet
ds.ReadXml(path)
Dim dt As DataTable = ds.Tables.Item(0)
Dim blnY As Boolean = True
For Each row As DataRow In dt.Rows
If row.Item("Translation").ToString.ToUpper ="確認(rèn)"Then
row.Item("Translation") =“替換”
blnY = False
Exit For
End If
Next
If blnY Then
MsgBox("輸入的XXX不存在,請重新輸入! ")
Return
End If
ds.WriteXml(path)
MessageBox.Show("修改數(shù)據(jù)并保存成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
或者
Dim xmlDoc As New XmlDocument()
'Dim nodeList As New XmlNodeList
xmlDoc.Load("life..xml") '加載
Dim nodeList As XmlNodeList = xmlDoc.SelectSingleNod.("UITranslations").ChildNodes '獲取bookstore節(jié)點的所有子節(jié)點
Dim xn As XmlNode
For Each xn In nodeList '遍歷所有子節(jié)點
Dim xe As XmlElement = CType(xn, XmlElement) '將子節(jié)點類型轉(zhuǎn)換為XmlElement類型
Dim nls As XmlNodeList = xe.ChildNodes '繼續(xù)獲取xe子節(jié)點的所有子節(jié)點
Dim xn1 As XmlNode
For Each xn1 In nls '遍歷
Dim xe2 As XmlElement = CType(xn1, XmlElement) '轉(zhuǎn)換類型
If xe2.Name = "Translation" Then '如果找到
xe2.InnerText ="替換"則修改
'Exit For Each '找到退出來就可以了
End If
Next xn1
Next xn
xmlDoc.Save("life.xml") '保存。
MessageBox.Show("修改XML成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
看能不能幫到你!
使用DataSet類來完成這項任務(wù)。
DataSet對象在傳輸時,是以XML流的形式而不是以COM形式傳輸?shù)?。DataSet對象可以讀取XML數(shù)據(jù)文件或者數(shù)據(jù)流,從而將樹型結(jié)構(gòu)的XML數(shù)據(jù)轉(zhuǎn)換成關(guān)系型的數(shù)據(jù),如表(DataTable)、列(DataColumn)、行(DataRow)等。
在這個實例中,我們將XML文件命名為“xmlfile.xml”,具體內(nèi)容如下:
?xml version=\"1.0\"standalone=”yes”?
Detail
Person
NameManish/Name
Age22/Age
/Person
/Detail \'用VB.NET讀寫XML文件
C1aSS WriteXML
Shared Sub main()
Dim obj DataSet As New System.Data.DataSet()
Dim strVirtualPath As String=”t.xml”
\'載入XML文件DataSet
objDataSet.ReadXml(”xmlfile.xml”)
\'通過控制器讀取XML內(nèi)容
Console.Write(objDataSet.GetXml)
\'從原XML文件中得到數(shù)據(jù)
ConSOle.Write(”Enter Name:”)
Dim fname,age As String
fname=ConS01e.ReadLine
\'寫入你希望的代碼
ConS01e.Write(”Enter Age:”)
age=Console.ReadLine
ConS0le.Write(fname&age)
Dim v(1)As String
v(0)=fname
V(1)=age
\'增加數(shù)據(jù)DataSet
objDataSet.Tables(0).Rows.Add(V)
\'更新XML文件
objDataSet.WriteXml(”xmlfile.xml”)
Console.Write(obj DataSet.GetXml)
End Sub
End C1ass
運行該程序有兩種方式,一種是在Microso~VS.NET框架中編譯完后運行;另一種則是在仿DOS的Command窗口中運行。在第一種方式中,必須加上System、System.Data、System.xML的引用。具體方法為:先創(chuàng)建一個空的項目,然后加入這個文件名字;在“解決方案資源管理器”中加入引用,此時需要選擇相應(yīng)的.dll文件;注意,xmlfile.xml文件應(yīng)該放在工程的/bin目錄下面。我們可以輸出結(jié)果也可以用瀏覽器直接查看改變后的XML文件。在第二種方式中,選擇桌面的“程序”一“Microso~Visual Studio.NET”一“VisualStudio.NET工具”一“Visual Studio.NET命令提示”命令,在DOS命令提示框敲入命令:[Page]
vbc/r:system.d11/r:system.data.d11/r:system.xml.d11 xml.vb其中,程序名為xml.vb,這里的3個.dll文件都是必須調(diào)用的庫文件。應(yīng)該在存放VB.NET文件的目錄中運行上述命令,否則找不到相應(yīng)的程序,當(dāng)然設(shè)置PATH也可以做到。此外,Xml_vb文件應(yīng)該和XML文件放在同一目錄下面。每次運行此程序都會往文件中寫進(jìn)同樣的內(nèi)容,都是寫入Person/,運行一次寫一行。其實,我們只要稍微修改一下這個程序,就可以往XML中寫入我們所需要的數(shù)據(jù)。