![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは。
プログラミング初心者です。どうぞよろしくお願いします。
VBSで下記のようなXMLのtitleをpub idごとに別々に分けて抽出したいのですが、どうしたらよいか全く分からない状態です。
<book>
<publisher>
<pub id="集英社"/>
</publisher>
<title>ドラゴンボール</title>
</book>
<book>
<publisher>
<pub id="講談社"/>
</publisher>
<title>はじめの一歩</title>
</book>
<book>
<publisher>
<pub id="集英社"/>
</publisher>
<title>ジョジョの奇妙な冒険</title>
</book>
<book>
<publisher>
<pub id="秋田書店"/>
</publisher>
<title>範馬刃牙</title>
</book>
下記のリンク先サイトにあったコードを試したのですが、titleが一緒くたに抽出されてしまい、別々に抽出ができません。pub idの階層が一つ深いのが原因だと思うのですが・・・どうしたらよいのか、さっぱり思いつきません。
http://www.atmarkit.co.jp/fxml/rensai/msxml01/ms …
Dim objDOM, rtResult
Set objDOM = WScript.CreateObject("MSXML2.DOMDocument")
rtResult = objDOM.load("○○.xml")
If rtResult = True Then
procDispDatas objDOM.childNodes
End If
Set objDOM = Nothing
Sub procDispDatas(objNode)
Dim obj
For Each obj In objNode
If obj.nodeType = 3 and obj.parentNode.nodeName = "title" Then
MsgBox obj.parentNode.nodeName & " : " & obj.nodeValue
End If
If obj.hasChildNodes Then
procDispDatas obj.childNodes
End If
Next
End Sub
どうかアドバイスをよろしくお願いいたします!
No.1ベストアンサー
- 回答日時:
XMLファイルのルートノードを追加したほうがいいように思います
出発点のノードが1つでそこから枝分かれするようにします
今回なら <book>タグの外側に<books>タグを追加します
<books>
<book>
<publisher>
<pub id="集英社"/>
</publisher>
<title>ドラゴンボール</title>
</book>
<book>
<publisher>
<pub id="講談社"/>
</publisher>
<title>はじめの一歩</title>
</book>
<book>
<publisher>
<pub id="集英社"/>
</publisher>
<title>ジョジョの奇妙な冒険</title>
</book>
<book>
<publisher>
<pub id="秋田書店"/>
</publisher>
<title>範馬刃牙</title>
</book>
</books>
と行った具合でやってみましょう
また先頭に XMLのバージョンやエンコード方式も追加した方がいいように思います
<?xml version="1.0" encoding="shift_jis" ?>
といった具合です
アドバイスありがとうございます。
返事が遅くなってしまってすみませんでした!
いろいろ試してなんとかうまくいきました。
ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- 英語 関係代名詞の文章なのですが、 I bought a book the title of which 3 2023/05/27 19:40
- HTML・CSS htmlで画面遷移させたい 1 2022/10/28 18:19
- TOEFL・TOEIC・英語検定 from の用法と意味を教えてください 3 2022/05/11 11:42
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP php エラー 2 2022/10/23 16:43
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
MAX関数を使ってからLEFT JOIN...
-
JavaScript 可変スクロールバ...
-
IFRAMEの表示/非表示を切り替え...
-
jqueryを使って無駄なspanタグ...
-
iframe内のリンクが飛ばないの...
-
checkboxにチェックを入れると...
-
jQueryでシンプルドラッグドロ...
-
jQueryを使ってランダムに表示
-
idからエレメント取得するには?
-
jQueryで同じid属性が複数あっ...
-
外部ページからハッシュタグ(...
-
innerHTMLの初期値
-
タブで開いてさらにタブ内をア...
-
console.log結果をhtmlで表示し...
-
表示/非表示の切り替え
-
createElementで作成した要素を...
-
【HTML5】【canvas】【js】...
-
テキストサイズ拡大・縮小のJav...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
createElementで作成した要素を...
-
removeEventListenerについて
-
クリックで色変更後に既に変更...
-
iframe内のリンクが飛ばないの...
-
[急ぎ] videoタグで埋め込んだm...
-
背景色を透明化
-
console.log結果をhtmlで表示し...
-
表示・非表示のスクリプトで、...
-
getElementByIdの戻り値がnull...
-
removeAttribute()メソッドで削...
-
テキストエリア内の一部の文字...
-
タブで開いてさらにタブ内をア...
-
IFRAMEの表示/非表示を切り替え...
-
変数内容をHTML内で表示する方法
-
HTMLタグに複数のクラスを設定...
-
jQueryのアコーディオンメニュ...
-
取得した要素がインライン要素...
おすすめ情報