teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問を具体化

2017/07/25 11:22

投稿

ykkchak
ykkchak

スコア15

title CHANGED
File without changes
body CHANGED
@@ -1,69 +1,41 @@
1
- 2つのxmlファイルをマージするvbscriptを作成しました。
1
+ 2つのxmlをマージしたいで。以下のPGMを作成しましたがマージできませんご教示願います。
2
- index3.xmlがマージ後になりますが「<channel>」が不要なんですが
3
- どのように取り除ければよろしいでしょうか
4
- ⇒Set nodeRoot2 = dom2.getElementsByTagName("item")を指定てしましけどうまくとれませんでした
2
+ myfileのtagAに対してC:\にあるファイルの特定のタグ(tagB)を移植するPGMを作成したいです。構文的には問題ないよに思いすが「appendChild」がうまいきません。。。
5
3
 
4
+ Sub Loadfile(myfile)
5
+ 'tag追加
6
+ dim fso
6
- それとフォルダ内に複数のxmlが存在しているときにファイル数分マージする方法がありましたらご教示願います。今は2ファイル・固定でしかできていないです。
7
+ set fso = createObject("Scripting.FileSystemObject")
7
8
 
8
- ■xml_add.vbs
9
+ dim folder
9
- ' DOM Object 作成
10
- Set dom1 = Wscript.CreateObject("Msxml2.DOMDocument")
10
+ set folder = fso.getFolder("C:\")
11
11
 
12
- ' 既存 XML 入力
12
+ ' DOM Object 作成
13
- dom1.load( "index.xml" )
13
+ Set dom1 = Wscript.CreateObject("Msxml2.DOMDocument")
14
14
 
15
+ ' 既存 XML 入力
15
- Set nodeRoot1 = dom1.documentElement
16
+ dom1.load( myfile )
17
+ Wscript.Echo myfile
16
18
 
17
- ' DOM Object 作成
19
+ Dim nodeList
18
- Set dom2 = Wscript.CreateObject("Msxml2.DOMDocument")
20
+ Set nodeList = dom1.getElementsByTagName("tagA")
19
21
 
22
+ dim file
23
+ dim i
24
+ i=0
25
+ for each file in folder.files
26
+ ' DOM Object 作成
27
+ Set dom2 = Wscript.CreateObject("Msxml2.DOMDocument")
28
+
20
- ' 既存 XML 入力
29
+ ' XML Load
21
- dom2.load( "index2.xml" )
30
+ dom2.load( file.name )
22
31
 
23
- Set nodeRoot2 = dom2.documentElement
24
- 'マージ
32
+ '対象Node
25
- nodeRoot1.appendChild( nodeRoot2 )
33
+ Set nodeRoot2 = dom2.getElementsByTagName("tagB").Item(0)
26
34
 
27
- ' 保存
35
+ 'マージ
28
- dom1.save( "index3.xml" )
36
+ nodeList(0).appendChild( nodeRoot2 )
29
37
 
30
- ■index.xml
38
+ i = i + 1
31
- <?xml version="1.0" encoding="UTF-8"?>
32
- <channel>
33
- <item>
39
+ next
34
- <title>タイトル</title>
35
- <link>対象URL</link>
36
- <description>内容の説明</description>
37
- <date>2011-12-14</date>
38
- </item>
39
- </channel>
40
40
 
41
- ■index2.xml
41
+ End Sub
42
- <?xml version="1.0" encoding="UTF-8"?>
43
- <channel>
44
- <item>
45
- <title>★title★</title>
46
- <link>対象URL</link>
47
- <description>内容の説明</description>
48
- <date>2011-12-14</date>
49
- </item>
50
- </channel>
51
-
52
- ■index3.xml
53
- <?xml version="1.0" encoding="UTF-8"?>
54
- <channel>
55
- <item>
56
- <title>タイトル</title>
57
- <link>対象URL</link>
58
- <description>内容の説明</description>
59
- <date>2011-12-14</date>
60
- </item>
61
- <channel>
62
- <item>
63
- <title>★title★</title>
64
- <link>対象URL</link>
65
- <description>内容の説明</description>
66
- <date>2011-12-14</date>
67
- </item>
68
- </channel>
69
- </channel>