Je voudrai inserer un element dans un fichier xml. en gros, mon fichier xml est un flux rss, et je veux rajouter un item...
Je ne sais pas trop où partir ...
Je voudrai inserer un element dans un fichier xml. en gros, mon fichier xml est un flux rss, et je veux rajouter un item...
Je ne sais pas trop où partir ...
Bonjour khrysby
j'ai ici un exemple qui insère des éléments dans un fichier xml. Cela pourra peut-être t'aider.
Bon courage !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144 class Log { private string _logFile = new PathFile().file_log; private XmlDocument _xmlLOG = new XmlDocument(); private string _sid; private string _file; private string _dateStart; private string _hourStart; private string _dateEnd; private string _hourEnd; private string _status; private string _nodeName_ROOT = "LOG"; private string _nodeName_run = "RUN"; private string _nodeName_sid = "SID"; private string _nodeName_login = "LOGIN"; private string _nodeName_port = "PORT"; private string _nodeName_file = "FILE"; private string _nodeName_dateStart = "DATE_START"; private string _nodeName_hourStart = "HOUR_START"; private string _nodeName_dateEnd = "DATE_END"; private string _nodeName_hourEnd = "HOUR_END"; private string _nodeName_status = "STATUS"; private string _nodeName_error = "ERROR"; private string _nodeName_FileDir = "DIRECTORY"; private string _nodeName_FileName = "NAME"; private string _nodeName_FileWeight = "WEIGHT"; private string _nodeName_FileMD5 = "MD5"; private string _nodeName_mode = "MODE"; public Log() { this._xmlLOG.Load(_logFile); this.WriteJob(_file); } private void WriteJob(string file) { DateTime dt = DateTime.Now; this._dateStart = dt.Year.ToString().Substring(2, 2) + dt.Month.ToString("d2") + dt.Day.ToString("d2"); this._hourStart = dt.Hour.ToString("d2") + dt.Minute.ToString("d2") + dt.Second.ToString("d2"); XmlElement NewRUN = _xmlLOG.CreateElement(_nodeName_run); XmlElement NewSID = _xmlLOG.CreateElement(_nodeName_sid); XmlElement NewLOGIN = _xmlLOG.CreateElement(_nodeName_login); XmlElement NewPORT = _xmlLOG.CreateElement(_nodeName_port); XmlElement NewFILE = _xmlLOG.CreateElement(_nodeName_file); XmlElement FileDir = _xmlLOG.CreateElement(_nodeName_FileDir); XmlElement FileName = _xmlLOG.CreateElement(_nodeName_FileName); XmlElement FileWeight = _xmlLOG.CreateElement(_nodeName_FileWeight); XmlElement FileMD5 = _xmlLOG.CreateElement(_nodeName_FileMD5); XmlElement NewDATE_START = _xmlLOG.CreateElement(_nodeName_dateStart); XmlElement NewHOUR_START = _xmlLOG.CreateElement(_nodeName_hourStart); XmlElement NewDATE_END = _xmlLOG.CreateElement(_nodeName_dateEnd); XmlElement NewHOUR_END = _xmlLOG.CreateElement(_nodeName_hourEnd); XmlElement NewSTATUS = _xmlLOG.CreateElement(_nodeName_status); XmlElement NewERROR = _xmlLOG.CreateElement(_nodeName_error); XmlElement NewMODE = _xmlLOG.CreateElement(_nodeName_mode); NewSID.InnerText = ""; NewDATE_START.InnerText = this._dateStart; NewHOUR_START.InnerText = this._hourStart; NewSTATUS.InnerText = "Not sent"; NewFILE.AppendChild(FileDir); NewFILE.AppendChild(FileName); NewFILE.AppendChild(FileWeight); NewFILE.AppendChild(FileMD5); NewRUN.AppendChild(NewSID); NewRUN.AppendChild(NewLOGIN); NewRUN.AppendChild(NewPORT); NewRUN.AppendChild(NewFILE); NewRUN.AppendChild(NewDATE_START); NewRUN.AppendChild(NewHOUR_START); NewRUN.AppendChild(NewDATE_END); NewRUN.AppendChild(NewHOUR_END); NewRUN.AppendChild(NewSTATUS); NewRUN.AppendChild(NewERROR); NewRUN.AppendChild(NewMODE); _xmlLOG.SelectSingleNode(_nodeName_ROOT).PrependChild(NewRUN); } public void InfoUser(com.sga.euredi.services.user u) { _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_login).InnerText = u.U_LOGIN; _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_sid).InnerText = u.U_SID; _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_port).InnerText = u.U_PORT; } public void InfoFile(com.sga.euredi.services.RemoteFileInfo rmf) { _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_file).SelectSingleNode(_nodeName_FileDir).InnerText = rmf.RemoteFile_Dir; _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_file).SelectSingleNode(_nodeName_FileName).InnerText = rmf.RemoteFile_Name; _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_file).SelectSingleNode(_nodeName_FileWeight).InnerText = rmf.RemoteFile_Weight.ToString(); _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_file).SelectSingleNode(_nodeName_FileMD5).InnerText = rmf.RemoteFile_Md5; } public void InfoEnd() { DateTime dt = DateTime.Now; this._dateEnd = dt.Year.ToString().Substring(2, 2) + dt.Month.ToString("d2") + dt.Day.ToString("d2"); this._hourEnd = dt.Hour.ToString("d2") + dt.Minute.ToString("d2") + dt.Second.ToString("d2"); _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_dateEnd).InnerText = _dateEnd; _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_hourEnd).InnerText = _hourEnd; } public void InfoStatus(string Status) { _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_status).InnerText = Status; } public void NewError(string Text) { XmlElement error = _xmlLOG.CreateElement("error"); error.InnerText = Text; _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_error).PrependChild(error); this.Save(); } public void InfoMode(string mode) { _xmlLOG.SelectSingleNode(_nodeName_ROOT).FirstChild.SelectSingleNode(_nodeName_mode).InnerText = mode; } public void Save() { try { _xmlLOG.Save(this._logFile); } catch{} } }
Salut,
il y a également la possibilité de charger ton fichier XML dans un DataSet (.ReadXML) mais selon sa taille et sa structure ça ne vaut pas le coup, la méthode citée par LE NEINDRE sera plus appropriée.
Merci beaucoup. Mon problème est résolut.
Merci![]()
Partager