質問編集履歴

2

誤記

2019/04/07 22:47

投稿

JanTh1989
JanTh1989

スコア87

test CHANGED
File without changes
test CHANGED
@@ -252,9 +252,9 @@
252
252
 
253
253
  # 問題点
254
254
 
255
- 編集後データを元のXMLファイルに反映」の処理が以下の観点で行き詰まっています。
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

情報不足

2019/04/07 22:47

投稿

JanTh1989
JanTh1989

スコア87

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
- XML形式ファイルを読み込み(XDocument.Load())
9
+ XML形式ファイルを読み込み(XDocument.Load())
6
-
10
+
7
- 読み込みデータから一部抽出して規定の構造に変換(XDocumentクラス)
11
+ 読み込みデータから一部抽出して規定の構造に変換(XDocumentクラス)
8
12
 
9
13
   ⇒XPathによるデータ抽出+ループで構築
10
14
 
11
- 変換した構造のデータを表示(TreeView表示)
15
+ 変換した構造のデータを表示(TreeView表示)
12
-
16
+
13
- 表示しているデータをユーザ任意に編集
17
+ 表示しているデータをユーザ任意に編集
18
+
14
-
19
+ ⑦ライブラリ(DLL)実行
20
+
15
- 編集後データを元のXMLファイルに反映
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