<root>
<file_type name="AAAAAAA">
<item name="A1">
<key name="a11"></key>
<key name="a12"></key>
</item>
<item name="A2">
<key name="a21"></key>
<key name="a22"></key>
<key name="a23"></key>
</item>
<item name="A3">
</item>
<item name="A4"></item>
</file_type>
</root>
例如上文档 存在C盘下
<file_type name="AAAAAAA">
<item name="A1">
<key name="a11"></key>
<key name="a12"></key>
</item>
<item name="A2">
<key name="a21"></key>
<key name="a22"></key>
<key name="a23"></key>
</item>
<item name="A3">
</item>
<item name="A4"></item>
</file_type>
</root>
例如上文档 存在C盘下
解决方案 »
- 大量文件同步
- 高手帮忙看看Delphi代码转C#代码问题
- 有关“小型饭店管理系统”的一些疑问
- C# 怎样做多个字符的替换?TextBox1.Text.Replace的问题。
- 数据转换的问题
- 如何在C#中实现类似Delphi中Application.Processmessages
- 怎样提取ChangePassword控件中用户输入的密码?
- 在线等待,高分求救,简体中文版下开发的程序到繁体版下程序界面显示太奇怪了!!!
- XML文件的保存问题,总是提示说找不到路径的一部分,请大家指导!
- 请问如何获取客户机的IP...???立马散分!!!
- C#字符串在日文系统中有乱码
- 在线等!!!关于combobox和txt文档结合的问题!!
这个是用着最简单的。此外就是XML的序列化。最后比较麻烦的就是用XmlTextWriter了。
然后在监视窗口看结构。把结构研究明白了, 就new一个相同结构的DataSet, 以后专门用来写数据用。
doc.LoadXml(XML_INIT);// 添加各个节点,数据doc.Save(sDataFileName);
也可以用XmlWriter等相关类
string xml = @"<?xml version='1.0'?>
<root>
<file_type name='AAAAAAA'>
<item name='A1'>
<key name='a11'></key>
<key name='a12'></key>
</item>
<item name='A2'>
<key name='a21'></key>
<key name='a22'></key>
<key name='a23'></key>
</item>
<item name='A3'>
</item>
<item name='A4'></item>
</file_type>
</root>";
XmlDocument doc = new XmlDocument();
doc.InnerXml = xml;
doc.Save("D:\\a.xml");
new XElement("file_type", new Attribute("name","AAAAAAA")
new XElement("item", new Attribute("name","A1"),
new XElement("key", new Attribute("name","a11")),
new XElement("key", new Attribute("name","a12"))),
new XElement("item", new Attribute("name","A2"),
new XElement("key", new Attribute("name","a21")),
new XElement("key", new Attribute("name","a22"))),
new XElement("item", new Attribute("name","A3"),
new XElement("item", new Attribute("name","A4"))
);TextWriter tw = File.CreateText("c:\xxx.xml");
tw.wirte(xmlTree1);
tw.close();
那如果我要再想加一个Item呢?
XDocument xd = new XDocument(
new XComment(updateID.ToString()),
new XElement("Root",
new XElement("BaseDir", textBox1.Text),
updatefiles.Select(t => new XElement("CusFileInfo",
new XElement("FileName", t.FileName),
new XElement("FileHash", t.FileHash),
new XElement("FileLength", t.FileLength)))
)
);
xd.Save("fileinfos.xml");
using System.Xml.Linq;namespace ConsoleApplication
{
class Program
{ static void Main(string[] args)
{
XDocument xd = new XDocument();
XDeclaration xdec = new XDeclaration("1.0", "uft-8", "yes");
XElement xeRoot =
new XElement("root",
new XElement("file_type", new XAttribute("name", "AAAAAAA")
, new XElement("item", new XAttribute("name", "A1")
, new XElement("key", new XAttribute("name", "a11"))
, new XElement("key", new XAttribute("name", "a12")))
, new XElement("item", new XAttribute("name", "A2")
, new XElement("key", new XAttribute("name", "a21"))
, new XElement("key", new XAttribute("name", "a22"))
, new XElement("key", new XAttribute("name", "a23")))
, new XElement("item", new XAttribute("name", "A3"))
, new XElement("item", new XAttribute("name", "A4"))
)
);
xd.Declaration = xdec;
xd.Add(xeRoot);
xd.Save(@"c:\test.xml");
}
}
}
<root>
<file_type name='AAAAAAA'>
<item name='A1'>
<key name='a11'></key>
<key name='a12'></key>
</item>
<item name='A2'>
<key name='a21'></key>
<key name='a22'></key>
<key name='a23'></key>
</item>
<item name='A3'>
</item>
<item name='A4'></item>
</file_type>
</root>";
XmlDocument doc = new XmlDocument();
doc.InnerXml = xml;
XmlElement xe = doc.CreateElement("item");
xe.SetAttribute("name", "A5");
doc.SelectSingleNode("//root//file_type").AppendChild(xe);
doc.Save("D:\\a.xml");
XmlWriter。 这个应该是最底层的。不要用字符串自己拼。 那不是扯淡么。
using System.Xml;XmlWriter writer = XmlWriter.Create("test.xml");
writer.WriteStartElement("root");writer.WriteStartElement("file_type");
writer.WriteStartAttribute("name", "AAAAAA");
writer.WriteEndAttribute();writer.WriteStartElement("item");
writer.WriteStartAttribute("name", "A1");
writer.WriteEndAttribute();
writer.WriteStartElement("key");
writer.WriteStartAttribute("name", "a11");
writer.WriteEndAttribute();
writer.WriteEndElement();// key
writer.WriteEndElement();// item
writer.WriteEndElement();// file_type
writer.WriteEndElement();// root
writer.Close();