質問編集履歴
2
誤記
test
CHANGED
File without changes
|
test
CHANGED
@@ -252,9 +252,9 @@
|
|
252
252
|
|
253
253
|
# 問題点
|
254
254
|
|
255
|
-
「
|
255
|
+
「⑧編集後データを元のXMLファイルに反映」の処理が以下の観点で行き詰まっています。
|
256
|
+
|
256
|
-
|
257
|
+
・編集後データはSalesタグの情報は全く持っていない。
|
257
|
-
|
258
258
|
|
259
259
|
・元ファイル読み込みデータ(XDocument)は変換後に一旦破棄。
|
260
260
|
|
@@ -264,29 +264,7 @@
|
|
264
264
|
|
265
265
|
|
266
266
|
|
267
|
-
現状は以下のような方法が出ていますが、処理が回りくどく感じ、実装が渋られます。
|
268
|
-
|
269
|
-
①一旦変換後データを逆変換
|
270
|
-
|
271
|
-
⇒元ファイルのSalesタグのみ破棄したものに再変換となる。
|
272
|
-
|
273
|
-
②元ファイル再読込み
|
274
|
-
|
275
|
-
③変換対象の親タグをXPathで抽出
|
276
|
-
|
277
|
-
④抽出データの子要素全破棄
|
278
|
-
|
279
|
-
⑤子要素無しの抽出データに①の対象データを追加
|
280
|
-
|
281
|
-
例)
|
282
|
-
|
283
|
-
③で<EngineerMember Name="engineerMember1">抽出し、子要素を全破棄。
|
284
|
-
|
285
|
-
子要素に①の逆変換データName~Historyを追加
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
ハッシュテーブルで・・・という案
|
267
|
+
ハッシュテーブルで・・・という案がチラッと挙がったのですが、私はハッシュなるものがあまり詳しくなく・・・。
|
290
268
|
|
291
269
|
|
292
270
|
|
1
情報不足
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,18 +1,46 @@
|
|
1
1
|
# 前提
|
2
2
|
|
3
|
-
以下のような動きを検討中です。
|
3
|
+
C#にて、以下のような動きのフォームアプリ+ライブラリ(DLL)を検討中です。
|
4
|
+
|
4
|
-
|
5
|
+
①ファイルパスをユーザが任意に指定
|
6
|
+
|
7
|
+
②ライブラリ(DLL)実行
|
8
|
+
|
5
|
-
|
9
|
+
③XML形式ファイルを読み込み(XDocument.Load())
|
6
|
-
|
10
|
+
|
7
|
-
|
11
|
+
④読み込みデータから一部抽出して規定の構造に変換(XDocumentクラス)
|
8
12
|
|
9
13
|
⇒XPathによるデータ抽出+ループで構築
|
10
14
|
|
11
|
-
|
15
|
+
⑤変換した構造のデータを表示(TreeView表示)
|
12
|
-
|
16
|
+
|
13
|
-
|
17
|
+
⑥表示しているデータをユーザ任意に編集
|
18
|
+
|
14
|
-
|
19
|
+
⑦ライブラリ(DLL)実行
|
20
|
+
|
15
|
-
|
21
|
+
⑧編集後データを元のXMLファイルに反映
|
22
|
+
|
23
|
+
フォームアプリで①②⑤⑥⑦。
|
24
|
+
|
25
|
+
ライブラリ(DLL)が③④⑧。
|
26
|
+
|
27
|
+
●ライブラリのインターフェース
|
28
|
+
|
29
|
+
```C#
|
30
|
+
|
31
|
+
// ②のファイル読み込み、変換のインターフェース関数
|
32
|
+
|
33
|
+
public long LoadFile(string filePath, out XDocument loadData,);
|
34
|
+
|
35
|
+
// ⑦のファイル更新のインターフェース関数
|
36
|
+
|
37
|
+
public long UpdataFile(string filePath, XDocument data);
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
// ※戻り値long型は、ファイルが無いなどのエラーコードを返します。
|
42
|
+
|
43
|
+
```
|
16
44
|
|
17
45
|
例)
|
18
46
|
|
@@ -236,10 +264,12 @@
|
|
236
264
|
|
237
265
|
|
238
266
|
|
239
|
-
現状は以下のような方法が出ていますが、処理が
|
267
|
+
現状は以下のような方法が出ていますが、処理が回りくどく感じ、実装が渋られます。
|
240
268
|
|
241
269
|
①一旦変換後データを逆変換
|
242
270
|
|
271
|
+
⇒元ファイルのSalesタグのみ破棄したものに再変換となる。
|
272
|
+
|
243
273
|
②元ファイル再読込み
|
244
274
|
|
245
275
|
③変換対象の親タグをXPathで抽出
|
@@ -270,6 +300,8 @@
|
|
270
300
|
|
271
301
|
# 補足
|
272
302
|
|
303
|
+
開発言語:C#
|
304
|
+
|
273
305
|
開発環境:VisualStudio2015 Professional
|
274
306
|
|
275
307
|
.NET:バージョン4.6
|