下面是关于“ASP.NET XML文件操作实现代码”的详细攻略。
导入 System.Xml 命名空间
在使用 XML 文件操作前,需要先导入 System.Xml
命名空间,使用如下语句:
using System.Xml;
创建 XmlDocument 对象
在使用 XML 文件操作时,需要先创建 XmlDocument
对象。通过 XmlDocument
对象可以实现以下常用操作:
- 创建 XML 文档
- 加载 XML 文件并解析它
- 修改 XML 文档的内容
- 序列化 XML 对象
使用如下代码创建 XmlDocument
对象:
XmlDocument xmlDoc = new XmlDocument();
创建 XML 文件
使用如下代码,可以创建一个 XML 文件,并添加相应的节点:
XmlDocument xmlDoc = new XmlDocument();
//定义 XML 声明和根节点
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null);
XmlElement rootNode = xmlDoc.CreateElement("root");
xmlDoc.AppendChild(rootNode);
//创建子节点
XmlElement userNode = xmlDoc.CreateElement("user");
userNode.SetAttribute("id", "001");
XmlNode usernameNode = xmlDoc.CreateNode(XmlNodeType.Element, "username", null);
usernameNode.InnerText = "Tom";
userNode.AppendChild(usernameNode);
XmlNode passwordNode = xmlDoc.CreateNode(XmlNodeType.Element, "password", null);
passwordNode.InnerText = "123456";
userNode.AppendChild(passwordNode);
rootNode.AppendChild(userNode);
//保存 XML 文件
xmlDoc.Save("test.xml");
该代码会创建以下的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<user id="001">
<username>Tom</username>
<password>123456</password>
</user>
</root>
加载 XML 文件
使用如下代码,可以加载指定路径下的 XML 文件:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("test.xml");
获取 XML 节点及其属性值
使用如下代码,可以获取 XML 文件中的节点及其属性值:
XmlNode rootNode = xmlDoc.SelectSingleNode("root");
XmlNode userNode = rootNode.SelectSingleNode("user[@id='001']");
string username = userNode.SelectSingleNode("username").InnerText;
string password = userNode.SelectSingleNode("password").InnerText;
该代码会获取 test.xml
文件中 id
为 001
的 user
节点的 username
和 password
的值。
修改 XML 节点及其属性值
使用如下代码,可以修改 XML 文件中的节点及其属性值:
XmlNode rootNode = xmlDoc.SelectSingleNode("root");
XmlNode userNode = rootNode.SelectSingleNode("user[@id='001']");
userNode.SelectSingleNode("username").InnerText = "Jack";
xmlDoc.Save("test.xml");
该代码会将 test.xml
文件中 id
为 001
的 user
节点的 username
的值修改为 Jack
。
示例1:获取 XML 文件中的所有节点
使用如下代码,可以获取 XML 文件中的所有节点:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("test.xml");
XmlNodeList nodeList = xmlDoc.SelectNodes("//*");
foreach (XmlNode node in nodeList)
{
Console.WriteLine(node.Name);
}
该代码会输出 test.xml
文件中所有节点的名称。
示例2:序列化 XML 对象
使用如下代码,可以将 XmlDocument
对象序列化为字符串:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("test.xml");
string xmlString;
using (var stringWriter = new StringWriter())
using (var xmlTextWriter = XmlWriter.Create(stringWriter))
{
xmlDoc.WriteTo(xmlTextWriter);
xmlTextWriter.Flush();
xmlString = stringWriter.GetStringBuilder().ToString();
}
Console.WriteLine(xmlString);
该代码会将 test.xml
文件中的内容序列化为字符串,并在控制台输出。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:asp.net XML文件操作实现代码 - Python技术站