重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Dim path As String = PDA_PATH "ife.XML" ’PDA_PATH 为路径
创新互联是少有的网站设计制作、做网站、营销型企业网站、成都微信小程序、手机APP,开发、制作、设计、买友情链接、推广优化一站式服务网络公司,从2013年成立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
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 ="确认"Then
row.Item("Translation") =“替换”
blnY = False
Exit For
End If
Next
If blnY Then
MsgBox("输入的XXX不存在,请重新输入! ")
Return
End If
ds.WriteXml(path)
MessageBox.Show("修改数据并保存成功", "提示", 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节点的所有子节点
Dim xn As XmlNode
For Each xn In nodeList '遍历所有子节点
Dim xe As XmlElement = CType(xn, XmlElement) '将子节点类型转换为XmlElement类型
Dim nls As XmlNodeList = xe.ChildNodes '继续获取xe子节点的所有子节点
Dim xn1 As XmlNode
For Each xn1 In nls '遍历
Dim xe2 As XmlElement = CType(xn1, XmlElement) '转换类型
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)
看能不能帮到你!
Dim xmlDoc As New System.Xml.XmlDocument
xmlDoc.Load("c:\xml.xml") '载入xml文件
Dim Items As Xml.XmlNodeList = xmlDoc.DocumentElement.SelectNodes("//record/item") '参数为xpath查询串,前面斜杠,//:表示任何结点,/:表示根结点
For Each s As Xml.XmlNode In Items
Console.WriteLine(s.Attributes.GetNamedItem("id").Value vbTab s.InnerText)
Next
这个应该没有问题的。看起来比较轻松的。。
代码调试正确
using
System;
using
System.Collections;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Web;
using
System.Web.SessionState;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.HTMLControls;
using
System.XML;
private
XMLDocument
XMLDoc;
//load
XML
file
private
void
LoadXML()
{
XMLDoc=new
XMLDocument();
XMLDoc.Load(Server.MapPath("User.XML"));
}
//添加节点
private
void
AddElement()
{
LoadXML();
XMLNode
XMLdocSelect=XMLDoc.SelectSingleNode("user");
XMLElement
el=XMLDoc.CreateElement("person");
//添加person节点
el.SetAttribute("name","风云");
//添加person节点的属性"name"
el.SetAttribute("sex","女");
//添加person节点的属性
"sex"
el.SetAttribute("age","25");
//添加person节点的属性
"age"
XMLElement
xesub1=XMLDoc.CreateElement("pass");
//添加person节点的里的节点
xesub1.InnerText="123";//设置文本节点
el.AppendChild(xesub1);
XMLElement
xesub2=XMLDoc.CreateElement("Address");
xesub2.InnerText="昆明";//设置文本节点
el.AppendChild(xesub2);
XMLdocSelect.AppendChild(el);
XMLDoc.Save(Server.MapPath("user.XML"));
}
//修改节点
private
void
UpdateElement()
{
LoadXML();
XMLNodeList
nodeList=XMLDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点
foreach(XMLNode
xn
in
nodeList)//遍历所有子节点
{
XMLElement
xe=(XMLElement)xn;//将子节点类型转换为XMLElement类型
if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云”
{
xe.SetAttribute("name","发明");
//如果下面有子节点在下走
XMLNodeList
nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XMLNode
xn1
in
nls)//遍历
{
XMLElement
xe2=(XMLElement)xn1;//转换类型
if(xe2.Name=="pass")//如果找到
{
xe2.InnerText="66666";//则修改
break;
}
}
break;
}
}
XMLDoc.Save(Server.MapPath("user.XML"));//保存
}
//删出节点
private
void
deleteNode()
{
LoadXML();
XMLNodeList
xnl=XMLDoc.SelectSingleNode("user").ChildNodes;
foreach(XMLNode
xn
in
xnl)
{
XMLElement
xe=(XMLElement)xn;
if(xe.GetAttribute("name")=="发明")
{
//xe.RemoveAttribute("name");//删除name属性
xe.RemoveAll();//删除该节点的全部内容
break;
}
}
XMLDoc.Save(Server.MapPath("user.XML"));//保存
}
private
void
showIt()
{
LoadXML();
XMLNode
xn=XMLDoc.SelectSingleNode("user");
XMLNodeList
xnl=xn.ChildNodes;
foreach(XMLNode
xnf
in
xnl)
{
XMLElement
xe=(XMLElement)xnf;
//
Console.WriteLine(xe.GetAttribute("name"));//显示属性值
//
Console.WriteLine(xe.GetAttribute("sex"));
//
//
XMLNodeList
xnf1=xe.ChildNodes;
//
foreach(XMLNode
xn2
in
xnf1)
//
{
//
Console.WriteLine(xn2.InnerText);//显示子节点点文本
//
}
}
}
XML的样式:
?xml
version="1.0"
encoding="gb2312"?
user
person
/person
person
name="风拉"
sex="男"
age="25"
pass123/pass
Address大明/Address
/person
person
name="风云"
sex="女"
age="25"
pass123/pass
Address昆明/Address
/person
/user
先读取节点Match,然后读取节点内的各个属性值。 再进行节点中的子节点SetSetName的读取,读取方式也是直接读取各个属性值。
DataSet 和 DataTable都有现成的方法: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,就要你自己想办法导出了
//XmlDocument or XmlWriter都可以考虑
}