C# 基于xmlElement的xml节点编辑
我试过两种方法,但都不管用。。 第一条路::C# 基于xmlElement的xml节点编辑,c#,asp.net,xml,C#,Asp.net,Xml,我试过两种方法,但都不管用。。 第一条路:: string filepath = Server.MapPath[this is not a link]("XMLFile2.xml"); XmlDocument xdoc = new XmlDocument(); xdoc.Load(filepath); XmlNode root = xdoc.DocumentElement; XmlNode idNo
string filepath = Server.MapPath[this is not a link]("XMLFile2.xml");
XmlDocument xdoc = new XmlDocument();
xdoc.Load(filepath);
XmlNode root = xdoc.DocumentElement;
XmlNode idNode = root.SelectSingleNode("/students/student/id");
if (idNode.Value == 9.ToString())
{
var nodeOfStudent = xdoc.SelectNodes("/students/student[@id='9']");
nodeOfStudent[1].InnerXml = TextBox_firstname.Text;
nodeOfStudent[2].InnerXml = TextBox_lastname.Text;
nodeOfStudent[3].InnerXml = TextBox_dob.Text;
nodeOfStudent[4].InnerXml = TextBox_class.Text;
nodeOfStudent[5].InnerXml = TextBox_section.Text;
nodeOfStudent[6].InnerXml = TextBox_telephone.Text;
}
第二条路::
string filepath = Server.MapPath("XMLFile2.xml");
XmlDocument xdoc = new XmlDocument();
xdoc.Load(filepath);
XmlNode root = xdoc.DocumentElement;
XmlNode idNode = root.SelectSingleNode("/students/student/id");
xdoc.SelectSingleNode("/students/student[@id='10']/firstname").InnerXml = TextBox_firstname.Text;
xdoc.DocumentElement.AppendChild(firstname);
xdoc.SelectSingleNode("/students/student[@id='10']/lastname").InnerXml = TextBox_firstname.Text;
xdoc.SelectSingleNode("/students/student[@id='10']/dob").InnerXml = TextBox_firstname.Text;
xdoc.SelectSingleNode("/students/student[@id='10']/class").InnerXml = TextBox_firstname.Text;
xdoc.SelectSingleNode("/students/student[@id='10']/section").InnerXml = TextBox_firstname.Text;
xdoc.SelectSingleNode("/students/student[@id='10']/telephone").InnerXml = TextBox_firstname.Text;
xdoc.Save(filepath);
有什么我不明白的地方吗。。。
我的xml文件如下所示:
<students>
<student>
<id>1</id>
<first_name>ahmad</first_name>
<last_name>hani</last_name>
<DOB>12/5/1998</DOB>
<class>sixth</class>
<section>A</section>
<telephone>06555632</telephone>
</student>
</students>
1.
艾哈迈德
哈尼族
12/5/1998
第六
A.
06555632
我使用一个查询字符串从另一个页面中的gridView加载值,使用“QueryString”
提前感谢。使用Linq to xml,您可以轻松做到这一点:
int id = 9;
XDocument xdoc = XDocument.Load(filepath);
var student = xdoc.Descendants("student")
.Where(s => (int)s.Element("id") == id)
.SingleOrDefault();
if (student != null)
{
student.Element("first_name").Value = TextBox_firstname.Text;
student.Element("last_name").Value = TextBox_lastname.Text;
student.Element("DOB").Value = TextBox_dob.Text;
student.Element("class").Value = TextBox_class.Text;
// etc
}
xdoc.Save(filepath);
我想根据id xmlelement值筛选代码,但它似乎不起作用!!!XmlDocument xdoc=新的XmlDocument();加载(文件路径);XmlNode root=xdoc.DocumentElement;XmlNode idNode=root.SelectSingleNode(“/students/student/id”);如果(idNode.Value==null){创建一个新的xml节点}如果(idNode.Value!=null){创建一个具有id值的新xml元素)我试图解释它,下面是链接。。。