質問編集履歴

4

修正

2017/12/22 01:43

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,234 +4,234 @@
4
4
 
5
5
  <?xml version="1.0" encoding="utf-8" ?>
6
6
 
7
+ <Extension xmlns="">
8
+
9
+ <Data
10
+
11
+ Id="1A"
12
+
13
+ Class=""/>
14
+
15
+ <Group
16
+
17
+ Id="BGroup">
18
+
19
+ <Data
20
+
21
+ Id="1B"
22
+
23
+ Class=""/>
24
+
25
+ <Data
26
+
27
+ Id="2B"
28
+
29
+ Class=""/>
30
+
31
+ <Data
32
+
33
+ Id="3B"
34
+
35
+ Class=""/>
36
+
37
+ <Data
38
+
39
+ Id="4B"
40
+
41
+ Class=""/>
42
+
43
+ </Group>
44
+
45
+ <Group
46
+
47
+ Id="CGroup">
48
+
49
+ <Data
50
+
51
+ Id="1C"
52
+
53
+ Class=""/>
54
+
55
+ <Data
56
+
57
+ Id="2C"
58
+
59
+ Class=""/>
60
+
61
+ <Data
62
+
63
+ Id="3C"
64
+
65
+ Class=""/>
66
+
67
+ <Data
68
+
69
+ Id="4C"
70
+
71
+ Class=""/>
72
+
73
+ </Group>
74
+
75
+ </Extension>
76
+
77
+ ```
78
+
79
+
80
+
81
+ 上記のようなxmlを読込後
82
+
83
+ Group Id="CGroup"
84
+
85
+ のData Id="3C"のClassの値を書き換えて保存したいです。
86
+
87
+ Classだけでなく他の項目がありますが長くなってしまうので省力させてください。
88
+
89
+
90
+
91
+ ※xmlns=""とか""となっていますがここに書くと長くなったりしていますので省きます。
92
+
93
+
94
+
95
+ ```ここに言語を入力
96
+
97
+ XmlDocument document = new XmlDocument();
98
+
99
+ document.Load(FileName);
100
+
101
+ document.SelectSingleNode(@"/Extension/Group[@Id='CGroup']/Data[@Id='3C']")
102
+
103
+ ```
104
+
105
+ とやるとNullがかえってきてしまいます。
106
+
107
+ どこのPathの書き方が間違っているのでしょうか?
108
+
109
+ 正しく取得できる方法と取得後
110
+
111
+ Classや他の項目の値を変更して保存する方法を教えていただきたいです。
112
+
113
+
114
+
115
+ ```ここに言語を入力
116
+
117
+ document.GetElementsByTagName("Group")
118
+
119
+ ```
120
+
121
+
122
+
123
+ とやるとグループは取得できたりするのですがそこから3Cを抜き出す方法が不明です。
124
+
125
+ List内のInnerxmlを見ると
126
+
127
+ ```ここに言語を入力
128
+
129
+ <Data Id=\"3C\"...>
130
+
131
+ ```
132
+
133
+ とはなっていますが・・・
134
+
135
+
136
+
137
+ ///////
138
+
139
+ 追記
140
+
141
+
142
+
143
+ ```ここに言語を入力
144
+
145
+ var nodeList = document.GetElementsByTagName("Group");
146
+
147
+ foreach (XmlElement list in nodeList)
148
+
149
+ {
150
+
151
+   string id = list.Attributes.GetNamedItem("Id").Value.ToString();
152
+
153
+   if (id == "CGroup")
154
+
155
+   {
156
+
157
+    foreach (XmlElement child in list.ChildNodes)
158
+
159
+    {
160
+
161
+     string childId = child.Attributes.GetNamedItem("Id").Value.ToString();
162
+
163
+ if (childId == "3C")
164
+
165
+     {
166
+
167
+      child.SetAttribute("Class", "");
168
+
169
+ }
170
+
171
+    }
172
+
173
+   }
174
+
175
+ }
176
+
177
+
178
+
179
+ document.Save(FileName);
180
+
181
+ コード雑ですみません。
182
+
183
+ ```
184
+
185
+
186
+
187
+ 一応こんな感じで書き換えができるようにはなりました。
188
+
189
+ 遠まわしな書き方だと思っているのですが省略できそうなとこなどありますか?
190
+
191
+
192
+
193
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
194
+
195
+
196
+
197
+ <?xml version="1.0" encoding="utf-8" ?>
198
+
7
199
  <Extension xmlns="http://会社のURL/Class.xsd">
8
200
 
9
- <Data
201
+ <Data
10
-
202
+
11
- Id="1A"
203
+ Id="1A"
12
-
204
+
13
- Class=""/>
205
+ Class=""/>
14
-
206
+
15
- <Group
207
+ <Group
16
-
208
+
17
- Id="BGroup">
209
+ Id="CGroup">
18
-
210
+
19
- <Data
211
+ <Data
20
-
212
+
21
- Id="1B"
213
+ Id="1C"
22
-
214
+
23
- Class=""/>
215
+ Class="1CClass"/>
24
-
216
+
25
- <Data
217
+ <Data
26
-
218
+
27
- Id="2B"
219
+ Id="2C"
28
-
220
+
29
- Class=""/>
221
+ Class="2CClass"/>
30
-
222
+
31
- <Data
223
+ <Data
32
-
224
+
33
- Id="3B"
225
+ Id="3C"
34
-
226
+
35
- Class=""/>
227
+ Class="3CClass"/>
36
-
228
+
37
- <Data
229
+ <Data
38
-
230
+
39
- Id="4B"
231
+ Id="4C"
40
-
232
+
41
- Class=""/>
233
+ Class="4CClass"/>
42
-
234
+
43
- </Group>
235
+ </Group>
44
-
45
- <Group
46
-
47
- Id="CGroup">
48
-
49
- <Data
50
-
51
- Id="1C"
52
-
53
- Class=""/>
54
-
55
- <Data
56
-
57
- Id="2C"
58
-
59
- Class=""/>
60
-
61
- <Data
62
-
63
- Id="3C"
64
-
65
- Class=""/>
66
-
67
- <Data
68
-
69
- Id="4C"
70
-
71
- Class=""/>
72
-
73
- </Group>
74
236
 
75
237
  </Extension>
76
-
77
- ```
78
-
79
-
80
-
81
- 上記のようなxmlを読込後
82
-
83
- Group Id="CGroup"
84
-
85
- のData Id="3C"のClassの値を書き換えて保存したいです。
86
-
87
- Classだけでなく他の項目がありますが長くなってしまうので省力させてください。
88
-
89
-
90
-
91
- ※xmlns=""とか""となっていますがここに書くと長くなったりしていますので省きます。
92
-
93
-
94
-
95
- ```ここに言語を入力
96
-
97
- XmlDocument document = new XmlDocument();
98
-
99
- document.Load(FileName);
100
-
101
- document.SelectSingleNode(@"/Extension/Group[@Id='CGroup']/Data[@Id='3C']")
102
-
103
- ```
104
-
105
- とやるとNullがかえってきてしまいます。
106
-
107
- どこのPathの書き方が間違っているのでしょうか?
108
-
109
- 正しく取得できる方法と取得後
110
-
111
- Classや他の項目の値を変更して保存する方法を教えていただきたいです。
112
-
113
-
114
-
115
- ```ここに言語を入力
116
-
117
- document.GetElementsByTagName("Group")
118
-
119
- ```
120
-
121
-
122
-
123
- とやるとグループは取得できたりするのですがそこから3Cを抜き出す方法が不明です。
124
-
125
- List内のInnerxmlを見ると
126
-
127
- ```ここに言語を入力
128
-
129
- <Data Id=\"3C\"...>
130
-
131
- ```
132
-
133
- とはなっていますが・・・
134
-
135
-
136
-
137
- ///////
138
-
139
- 追記
140
-
141
-
142
-
143
- ```ここに言語を入力
144
-
145
- var nodeList = document.GetElementsByTagName("Group");
146
-
147
- foreach (XmlElement list in nodeList)
148
-
149
- {
150
-
151
-   string id = list.Attributes.GetNamedItem("Id").Value.ToString();
152
-
153
-   if (id == "CGroup")
154
-
155
-   {
156
-
157
-    foreach (XmlElement child in list.ChildNodes)
158
-
159
-    {
160
-
161
-     string childId = child.Attributes.GetNamedItem("Id").Value.ToString();
162
-
163
- if (childId == "3C")
164
-
165
-     {
166
-
167
-      child.SetAttribute("Class", "");
168
-
169
- }
170
-
171
-    }
172
-
173
-   }
174
-
175
- }
176
-
177
-
178
-
179
- document.Save(FileName);
180
-
181
- コード雑ですみません。
182
-
183
- ```
184
-
185
-
186
-
187
- 一応こんな感じで書き換えができるようにはなりました。
188
-
189
- 遠まわしな書き方だと思っているのですが省略できそうなとこなどありますか?
190
-
191
-
192
-
193
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
194
-
195
-
196
-
197
- <?xml version="1.0" encoding="utf-8" ?>
198
-
199
- <Extension xmlns="">
200
-
201
- <Data
202
-
203
- Id="1A"
204
-
205
- Class=""/>
206
-
207
- <Group
208
-
209
- Id="CGroup">
210
-
211
- <Data
212
-
213
- Id="1C"
214
-
215
- Class="1CClass"/>
216
-
217
- <Data
218
-
219
- Id="2C"
220
-
221
- Class="2CClass"/>
222
-
223
- <Data
224
-
225
- Id="3C"
226
-
227
- Class="3CClass"/>
228
-
229
- <Data
230
-
231
- Id="4C"
232
-
233
- Class="4CClass"/>
234
-
235
- </Group>
236
-
237
- </Extension>

3

修正

2017/12/22 01:43

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -4,234 +4,234 @@
4
4
 
5
5
  <?xml version="1.0" encoding="utf-8" ?>
6
6
 
7
+ <Extension xmlns="http://会社のURL/Class.xsd">
8
+
9
+ <Data
10
+
11
+ Id="1A"
12
+
13
+ Class=""/>
14
+
15
+ <Group
16
+
17
+ Id="BGroup">
18
+
19
+ <Data
20
+
21
+ Id="1B"
22
+
23
+ Class=""/>
24
+
25
+ <Data
26
+
27
+ Id="2B"
28
+
29
+ Class=""/>
30
+
31
+ <Data
32
+
33
+ Id="3B"
34
+
35
+ Class=""/>
36
+
37
+ <Data
38
+
39
+ Id="4B"
40
+
41
+ Class=""/>
42
+
43
+ </Group>
44
+
45
+ <Group
46
+
47
+ Id="CGroup">
48
+
49
+ <Data
50
+
51
+ Id="1C"
52
+
53
+ Class=""/>
54
+
55
+ <Data
56
+
57
+ Id="2C"
58
+
59
+ Class=""/>
60
+
61
+ <Data
62
+
63
+ Id="3C"
64
+
65
+ Class=""/>
66
+
67
+ <Data
68
+
69
+ Id="4C"
70
+
71
+ Class=""/>
72
+
73
+ </Group>
74
+
75
+ </Extension>
76
+
77
+ ```
78
+
79
+
80
+
81
+ 上記のようなxmlを読込後
82
+
83
+ Group Id="CGroup"
84
+
85
+ のData Id="3C"のClassの値を書き換えて保存したいです。
86
+
87
+ Classだけでなく他の項目がありますが長くなってしまうので省力させてください。
88
+
89
+
90
+
91
+ ※xmlns=""とか""となっていますがここに書くと長くなったりしていますので省きます。
92
+
93
+
94
+
95
+ ```ここに言語を入力
96
+
97
+ XmlDocument document = new XmlDocument();
98
+
99
+ document.Load(FileName);
100
+
101
+ document.SelectSingleNode(@"/Extension/Group[@Id='CGroup']/Data[@Id='3C']")
102
+
103
+ ```
104
+
105
+ とやるとNullがかえってきてしまいます。
106
+
107
+ どこのPathの書き方が間違っているのでしょうか?
108
+
109
+ 正しく取得できる方法と取得後
110
+
111
+ Classや他の項目の値を変更して保存する方法を教えていただきたいです。
112
+
113
+
114
+
115
+ ```ここに言語を入力
116
+
117
+ document.GetElementsByTagName("Group")
118
+
119
+ ```
120
+
121
+
122
+
123
+ とやるとグループは取得できたりするのですがそこから3Cを抜き出す方法が不明です。
124
+
125
+ List内のInnerxmlを見ると
126
+
127
+ ```ここに言語を入力
128
+
129
+ <Data Id=\"3C\"...>
130
+
131
+ ```
132
+
133
+ とはなっていますが・・・
134
+
135
+
136
+
137
+ ///////
138
+
139
+ 追記
140
+
141
+
142
+
143
+ ```ここに言語を入力
144
+
145
+ var nodeList = document.GetElementsByTagName("Group");
146
+
147
+ foreach (XmlElement list in nodeList)
148
+
149
+ {
150
+
151
+   string id = list.Attributes.GetNamedItem("Id").Value.ToString();
152
+
153
+   if (id == "CGroup")
154
+
155
+   {
156
+
157
+    foreach (XmlElement child in list.ChildNodes)
158
+
159
+    {
160
+
161
+     string childId = child.Attributes.GetNamedItem("Id").Value.ToString();
162
+
163
+ if (childId == "3C")
164
+
165
+     {
166
+
167
+      child.SetAttribute("Class", "");
168
+
169
+ }
170
+
171
+    }
172
+
173
+   }
174
+
175
+ }
176
+
177
+
178
+
179
+ document.Save(FileName);
180
+
181
+ コード雑ですみません。
182
+
183
+ ```
184
+
185
+
186
+
187
+ 一応こんな感じで書き換えができるようにはなりました。
188
+
189
+ 遠まわしな書き方だと思っているのですが省略できそうなとこなどありますか?
190
+
191
+
192
+
193
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
194
+
195
+
196
+
197
+ <?xml version="1.0" encoding="utf-8" ?>
198
+
7
199
  <Extension xmlns="">
8
200
 
9
- <Data
201
+ <Data
10
-
202
+
11
- Id="1A"
203
+ Id="1A"
12
-
204
+
13
- Class=""/>
205
+ Class=""/>
14
-
206
+
15
- <Group
207
+ <Group
16
-
208
+
17
- Id="BGroup">
209
+ Id="CGroup">
18
-
210
+
19
- <Data
211
+ <Data
20
-
212
+
21
- Id="1B"
213
+ Id="1C"
22
-
214
+
23
- Class=""/>
215
+ Class="1CClass"/>
24
-
216
+
25
- <Data
217
+ <Data
26
-
218
+
27
- Id="2B"
219
+ Id="2C"
28
-
220
+
29
- Class=""/>
221
+ Class="2CClass"/>
30
-
222
+
31
- <Data
223
+ <Data
32
-
224
+
33
- Id="3B"
225
+ Id="3C"
34
-
226
+
35
- Class=""/>
227
+ Class="3CClass"/>
36
-
228
+
37
- <Data
229
+ <Data
38
-
230
+
39
- Id="4B"
231
+ Id="4C"
40
-
232
+
41
- Class=""/>
233
+ Class="4CClass"/>
42
-
234
+
43
- </Group>
235
+ </Group>
44
-
45
- <Group
46
-
47
- Id="CGroup">
48
-
49
- <Data
50
-
51
- Id="1C"
52
-
53
- Class=""/>
54
-
55
- <Data
56
-
57
- Id="2C"
58
-
59
- Class=""/>
60
-
61
- <Data
62
-
63
- Id="3C"
64
-
65
- Class=""/>
66
-
67
- <Data
68
-
69
- Id="4C"
70
-
71
- Class=""/>
72
-
73
- </Group>
74
236
 
75
237
  </Extension>
76
-
77
- ```
78
-
79
-
80
-
81
- 上記のようなxmlを読込後
82
-
83
- Group Id="CGroup"
84
-
85
- のData Id="3C"のClassの値を書き換えて保存したいです。
86
-
87
- Classだけでなく他の項目がありますが長くなってしまうので省力させてください。
88
-
89
-
90
-
91
- ※xmlns=""とか""となっていますがここに書くと長くなったりしていますので省きます。
92
-
93
-
94
-
95
- ```ここに言語を入力
96
-
97
- XmlDocument document = new XmlDocument();
98
-
99
- document.Load(FileName);
100
-
101
- document.SelectSingleNode(@"/Extension/Group[@Id='CGroup']/Data[@Id='3C']")
102
-
103
- ```
104
-
105
- とやるとNullがかえってきてしまいます。
106
-
107
- どこのPathの書き方が間違っているのでしょうか?
108
-
109
- 正しく取得できる方法と取得後
110
-
111
- Classや他の項目の値を変更して保存する方法を教えていただきたいです。
112
-
113
-
114
-
115
- ```ここに言語を入力
116
-
117
- document.GetElementsByTagName("Group")
118
-
119
- ```
120
-
121
-
122
-
123
- とやるとグループは取得できたりするのですがそこから3Cを抜き出す方法が不明です。
124
-
125
- List内のInnerxmlを見ると
126
-
127
- ```ここに言語を入力
128
-
129
- <Data Id=\"3C\"...>
130
-
131
- ```
132
-
133
- とはなっていますが・・・
134
-
135
-
136
-
137
- ///////
138
-
139
- 追記
140
-
141
-
142
-
143
- ```ここに言語を入力
144
-
145
- var nodeList = document.GetElementsByTagName("Group");
146
-
147
- foreach (XmlElement list in nodeList)
148
-
149
- {
150
-
151
-   string id = list.Attributes.GetNamedItem("Id").Value.ToString();
152
-
153
-   if (id == "CGroup")
154
-
155
-   {
156
-
157
-    foreach (XmlElement child in list.ChildNodes)
158
-
159
-    {
160
-
161
-     string childId = child.Attributes.GetNamedItem("Id").Value.ToString();
162
-
163
- if (childId == "3C")
164
-
165
-     {
166
-
167
-      child.SetAttribute("Class", "");
168
-
169
- }
170
-
171
-    }
172
-
173
-   }
174
-
175
- }
176
-
177
-
178
-
179
- document.Save(FileName);
180
-
181
- コード雑ですみません。
182
-
183
- ```
184
-
185
-
186
-
187
- 一応こんな感じで書き換えができるようにはなりました。
188
-
189
- 遠まわしな書き方だと思っているのですが省略できそうなとこなどありますか?
190
-
191
-
192
-
193
- ////////////////////////////////////////////////////////////////////////////////////////////////////////
194
-
195
-
196
-
197
- <?xml version="1.0" encoding="utf-8" ?>
198
-
199
- <Extension xmlns="">
200
-
201
- <Data
202
-
203
- Id="1A"
204
-
205
- Class=""/>
206
-
207
- <Group
208
-
209
- Id="CGroup">
210
-
211
- <Data
212
-
213
- Id="1C"
214
-
215
- Class="1CClass"/>
216
-
217
- <Data
218
-
219
- Id="2C"
220
-
221
- Class="2CClass"/>
222
-
223
- <Data
224
-
225
- Id="3C"
226
-
227
- Class="3CClass"/>
228
-
229
- <Data
230
-
231
- Id="4C"
232
-
233
- Class="4CClass"/>
234
-
235
- </Group>
236
-
237
- </Extension>

2

追記

2017/12/22 01:43

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -187,3 +187,51 @@
187
187
  一応こんな感じで書き換えができるようにはなりました。
188
188
 
189
189
  遠まわしな書き方だと思っているのですが省略できそうなとこなどありますか?
190
+
191
+
192
+
193
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
194
+
195
+
196
+
197
+ <?xml version="1.0" encoding="utf-8" ?>
198
+
199
+ <Extension xmlns="">
200
+
201
+ <Data
202
+
203
+ Id="1A"
204
+
205
+ Class=""/>
206
+
207
+ <Group
208
+
209
+ Id="CGroup">
210
+
211
+ <Data
212
+
213
+ Id="1C"
214
+
215
+ Class="1CClass"/>
216
+
217
+ <Data
218
+
219
+ Id="2C"
220
+
221
+ Class="2CClass"/>
222
+
223
+ <Data
224
+
225
+ Id="3C"
226
+
227
+ Class="3CClass"/>
228
+
229
+ <Data
230
+
231
+ Id="4C"
232
+
233
+ Class="4CClass"/>
234
+
235
+ </Group>
236
+
237
+ </Extension>

1

追記

2017/12/22 01:39

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
  document.Load(FileName);
100
100
 
101
- document.SelectSingleNode(@"/Extension/Group[@Id='CGroup']/Plugin[@Id='3C']")
101
+ document.SelectSingleNode(@"/Extension/Group[@Id='CGroup']/Data[@Id='3C']")
102
102
 
103
103
  ```
104
104
 
@@ -131,3 +131,59 @@
131
131
  ```
132
132
 
133
133
  とはなっていますが・・・
134
+
135
+
136
+
137
+ ///////
138
+
139
+ 追記
140
+
141
+
142
+
143
+ ```ここに言語を入力
144
+
145
+ var nodeList = document.GetElementsByTagName("Group");
146
+
147
+ foreach (XmlElement list in nodeList)
148
+
149
+ {
150
+
151
+   string id = list.Attributes.GetNamedItem("Id").Value.ToString();
152
+
153
+   if (id == "CGroup")
154
+
155
+   {
156
+
157
+    foreach (XmlElement child in list.ChildNodes)
158
+
159
+    {
160
+
161
+     string childId = child.Attributes.GetNamedItem("Id").Value.ToString();
162
+
163
+ if (childId == "3C")
164
+
165
+     {
166
+
167
+      child.SetAttribute("Class", "");
168
+
169
+ }
170
+
171
+    }
172
+
173
+   }
174
+
175
+ }
176
+
177
+
178
+
179
+ document.Save(FileName);
180
+
181
+ コード雑ですみません。
182
+
183
+ ```
184
+
185
+
186
+
187
+ 一応こんな感じで書き換えができるようにはなりました。
188
+
189
+ 遠まわしな書き方だと思っているのですが省略できそうなとこなどありますか?