回答編集履歴

3

修正

2019/05/15 01:26

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  pan.Add(new XElement("substance", new XAttribute("name", "yeast")));
60
60
 
61
- output_xml.Save(output_xml__filename);
61
+ output_xml.Save(output_xml_filename);
62
62
 
63
63
  Console.WriteLine(output_xml);
64
64
 

2

修正

2019/05/15 01:26

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -58,6 +58,8 @@
58
58
 
59
59
  pan.Add(new XElement("substance", new XAttribute("name", "yeast")));
60
60
 
61
+ output_xml.Save(output_xml__filename);
62
+
61
63
  Console.WriteLine(output_xml);
62
64
 
63
65
  Console.ReadKey();

1

追記

2019/05/15 01:25

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -1 +1,73 @@
1
1
  `xml.Save(ファイル名)`
2
+
3
+
4
+
5
+ # 追記
6
+
7
+
8
+
9
+ 以下のコードは XMLFile1.xml を読み込み、pan の子要素として yeast を追加し、out.xml に書き込みます。
10
+
11
+
12
+
13
+ ```C#
14
+
15
+ using System;
16
+
17
+ using System.IO;
18
+
19
+ using System.Linq;
20
+
21
+ using System.Xml.Linq;
22
+
23
+
24
+
25
+ namespace ConsoleApp1
26
+
27
+ {
28
+
29
+ class Program
30
+
31
+ {
32
+
33
+ static void Main(string[] args)
34
+
35
+ {
36
+
37
+ string dir = AppDomain.CurrentDomain.BaseDirectory;
38
+
39
+ string xml_filename = Path.Combine(dir, "XMLFile1.xml");
40
+
41
+ string output_xml_filename = Path.Combine(dir, "out.xml");
42
+
43
+ var xml = XDocument.Load(xml_filename);
44
+
45
+ var output_xml = XDocument.Parse(xml.ToString());
46
+
47
+ var pan = output_xml
48
+
49
+ .Root
50
+
51
+ .Element("products")
52
+
53
+ .Elements("product")
54
+
55
+ .Where(a => (string)a.Attribute("name") == "pan")
56
+
57
+ .First();
58
+
59
+ pan.Add(new XElement("substance", new XAttribute("name", "yeast")));
60
+
61
+ Console.WriteLine(output_xml);
62
+
63
+ Console.ReadKey();
64
+
65
+ }
66
+
67
+ }
68
+
69
+ }
70
+
71
+
72
+
73
+ ```