1<?xml version="1.0" encoding="UTF-8"?>
2<books>
3 <book>
4 <name>哈里波特</name>
5 <price>10</price>
6 <memo>这是一本很好看的书。</memo>
7 </book>
8 <book id="B02">
9 <name>三国演义</name>
10 <price>10</price>
11 <memo>四大名著之一。</memo>
12 </book>
13 <book id="B03">
14 <name>水浒</name>
15 <price>6</price>
16 <memo>四大名著之一。</memo>
17 </book>
18 <book id="B04">
19 <name>红楼</name>
20 <price>5</price>
21 <memo>四大名著之一。</memo>
22 </book>
23</books>
我要生成一个类似这样格式的XML,//获取当前程序的绝对路径
string exePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
//XML的名称
string xmlName = string.Format("{0}.xml", batchNo); //XML在本地的绝对路径
string xmlPath = exePath.Substring(0, exePath.LastIndexOf(@"\")) + "\\" + xmlName; //先在本地创建一个以编号命名的XML文件
File.Create(xmlName);上面是代码创建的一个XML文件,然后我要怎么往这个文件里面写入上面所说的那种格式的数据
节点怎么样自由调整? 希望各位给给参考的材料。在下等。。
2<books>
3 <book>
4 <name>哈里波特</name>
5 <price>10</price>
6 <memo>这是一本很好看的书。</memo>
7 </book>
8 <book id="B02">
9 <name>三国演义</name>
10 <price>10</price>
11 <memo>四大名著之一。</memo>
12 </book>
13 <book id="B03">
14 <name>水浒</name>
15 <price>6</price>
16 <memo>四大名著之一。</memo>
17 </book>
18 <book id="B04">
19 <name>红楼</name>
20 <price>5</price>
21 <memo>四大名著之一。</memo>
22 </book>
23</books>
我要生成一个类似这样格式的XML,//获取当前程序的绝对路径
string exePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
//XML的名称
string xmlName = string.Format("{0}.xml", batchNo); //XML在本地的绝对路径
string xmlPath = exePath.Substring(0, exePath.LastIndexOf(@"\")) + "\\" + xmlName; //先在本地创建一个以编号命名的XML文件
File.Create(xmlName);上面是代码创建的一个XML文件,然后我要怎么往这个文件里面写入上面所说的那种格式的数据
节点怎么样自由调整? 希望各位给给参考的材料。在下等。。
xmldocument 创建
运行到这里的时候报错了
文件“F:\FactoryClient\bin\Debug\100001.xml”正由另一进程使用,因此该进程无法访问该文件。
给你写了个Sample
public class Program
{
public static void Main(string[] args)
{
using (System.IO.Stream stream = new System.IO.FileStream(@"C:\test.xml", System.IO.FileMode.Create))
{
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Books));
serializer.Serialize(stream, new Books() {
new Book{ name = "book a",price="10.2",memo="a memo"},
new Book{ name = "book b",price="10.2",memo="b memo"},
}); stream.Close();
}
//Console.ReadKey();
} [Serializable]
[System.Xml.Serialization.XmlRoot(ElementName="Books")]
public class Books : List<Book> { } [Serializable]
public class Book
{
public string name { get; set; }
public string price { get; set; }
public string memo { get; set; }
}
看看我之前回复的帖子把,参考7楼的代码
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(xmlName); 我定义了这个。 就是这里报错了,下面的代码就没有进行了
xmldoc 要释放
文件操作filestream等,close关闭
public void WriteXML(string xmlName)
{
DataSet ds = new DataSet("books");
DataTable dt = new DataTable("book");
dt.Columns.Add("id", System.Type.GetType("System.String"));
dt.Columns.Add("name", System.Type.GetType("System.String"));
dt.Columns.Add("price", System.Type.GetType("System.Decimal"));
dt.Columns.Add("meno", System.Type.GetType("System.String"));
dt.Rows.Add("BO1","哈利波特", 10, "这是一本很好看的书。");
dt.Rows.Add("BO2", "三国演义", 6, "四大名著之一。");
dt.Rows.Add("BO3", "水浒", 5, "四大名著之一。");
ds.Tables.Add(dt);
ds.WriteXml(xmlName);
ds.Dispose();
}
if (!File.Exists(xmlPath))
{
FileStream fs = new FileStream(xmlPath, FileMode.Create);
fs.Close();
}
1.我用这个方法创建了一个XML文件。但是打开里面是空白的,连这句话都没有
<?xml version="1.0" encoding="utf-8" ?> 是什么原因?怎么解决?
2.报错“没有根元素” 什么原因?