下記のようなXMLを作成で質問です。
<Data-3>の要素が14万件あります。
VB6で下記のような記述を行った場合、処理速度がとても遅かったです。
(既存のシステムがまだVB6です・・・)
速度改善できる記述を教えて頂けないでしょうか。
それともVB6だと限界でしょうか。
また、Vb.NETでDataTableでWriteXmlを使い作成しようかとも思ったのですが
<Data-3>だけの繰り返しの場合はできるのですが
<Data-1><Data-2>がある場合の記述方法が分かりません。
そもそのDataTableでの作成は可能でしょうか。
お知恵を拝借できると大変助かります。
<?xml version="1.0" encoding="Shift_JIS"?>
<Data>
<Data-1>aaaa</Data-1>
<Data-2>bbbb</Data-2>
<Data-3>
<ID>1000</ID>
<kana>テスト 1000</kana>
</Data-3>
<Data-3>
<ID>1001</ID>
<kana>テスト 1001</kana>
</Data-3>
:
:
</Data>
■VB6
'MSXMLオブジェクトを生成
Set xmlDocument = New MSXML2.DOMDocument
'要素<Data>を生成
Set xmlRoot = xmlDocument.appendChild(xmlDocument.createElement("Data"))
'要素<Data-1>を生成
Set xmlData = xmlDocument.createElement("Data-1")
xmlData.Text = "aaaa"
Call xmlRoot.appendChild(xmlData)
'要素<Data-2>を生成
Set xmlData = xmlDocument.createElement("Data-2")
xmlData.Text = "bbbb"
Call xmlRoot.appendChild(xmlData)
Do Until xxxx
'要素<Data-3>を生成
Set xmlData = xmlDocument.createElement("Data-3")
'要素の子要素を生成して要素に追加
Set xmlChildData = xmlData.appendChild(xmlDocument.createElement("ID"))
xmlChildData.Text = "ID"
Set xmlChildData = xmlData.appendChild(xmlDocument.createElement("kana"))
xmlChildData.Text = "kana"
'1人分の要素に追加
Call xmlRoot.appendChild(xmlData)
Loop
'----改行付きにする ----
'Writerでインデント設定する
oXmlWriter.indent = True
'ReaderとWriterを紐づける
Set oXmlReader.contentHandler = oXmlWriter
'作成したXMLをReaderで読み込む
oXmlReader.parse xmlDocument.xml
'改行付きに変換
xmlDoc2.loadXML oXmlWriter.output
'Shift_JISに変換
Set domDecXml = xmlDoc2.createProcessingInstruction("xml", "version=""1.0"" encoding=""Shift_JIS""")
'元々のencodingを無視して変更する
Call xmlDoc2.replaceChild(domDecXml, xmlDoc2.firstChild)
'改行付きで出力
xmlDoc2.save ("c:\test.xml")
'各オブジェクトの開放は省略
A 回答 (1件)
- 最新から表示
- 回答順に表示
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【ヒトの神秘】美男美女から何...
-
マージソートの計算量について-...
-
2個のFormを横並びにしたい
-
角丸画像の背景色を透明にした...
-
タグは大文字と小文字どちらが...
-
textareaの幅を画面と合わせたい
-
テキストボックスの中にリンク...
-
<div align="center">を使わず...
-
含む含まないという概念自体の...
-
親要素・子要素
-
改行ほどは行かないけど、若干...
-
「8桁の数字」を表現したい。
-
smallにtext-allignが効かない
-
FireFoxでリンクをクリックして...
-
指定位置に来たら要素をボーダ...
-
tdに対してmin-heightの定義、...
-
border: noneでボタンの境界線...
-
abbr要素はコンピュータ用語以...
-
質問1.
-
htmlの文字が縦書きになる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ヒトの神秘】美男美女から何...
-
2個のFormを横並びにしたい
-
含む含まないという概念自体の...
-
角丸画像の背景色を透明にした...
-
smallにtext-allignが効かない
-
質問1.
-
超音波で洗脳。
-
「諸要素」とはどういう意味で...
-
改行ほどは行かないけど、若干...
-
マージソートの計算量について-...
-
1から100までの自然数のうち、2...
-
タグは大文字と小文字どちらが...
-
textareaの幅を画面と合わせたい
-
親要素・子要素
-
テキストボックスの中にリンク...
-
html タグの閉じスラッシュ前の...
-
input type="hidden"で取得した...
-
NからZへの全単射を具体的に構...
-
【CSS】imgタグを、親要素の幅...
-
HTMLページ上でiframeを最前面...
おすすめ情報