掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
XMLの部分タグをExcelへ抽出する方法を教えて下さい。 (ID:81401)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> XML形式で吐き出されたデータでして いや……そもそも、提示されたデータ自体が「XML形式」になっていませんよね?(^_^;) Well-Formed になっていない以上、それはXML形式ではありません。 今回、掲示板に記述した内容が間違っているというわけではなく、 「あるシステム」から、本当にその形式で吐き出されているのでしょうか。 もし、妥当なXML(Valid XML)どころか、整形式のXML(well-Formed XML)にさえ なっていないのであれば、XMLパーサ等での読み書きは不可能となります。 その場合は、自分でファイルの解析を行うしかありません。 例えば——提示されたXMLデータが、もしも <rootNode> <item type="test1"> <Schema>Schema 1</Schema> <DATA>Data 1</DATA> </item> <item type="test2"> <Schema>Schema 2</Schema> <DATA>Data 2</DATA> </item> </rootNode> という形式のXMLであったならば、これは正しいXML形式と言えますので、MSXML4 を使って Set N1 = objDOMDocument.selectSingleNode("/rootNode/item[@type='test1']") のようにして取得出来ます。しかし、最初に提示された形式のままだとしたら、 XMLDocumentに読み込ませる時点で、エラーが発生してしまうでしょう。 > ですので、この形式からデータを加工せざるをえないのです。(T_T) 元データが整形式XMLになっているなら、XSLTで変換するのが良いでしょう。 > 次のタグへ移るようなルーチンをご存知でしょうか? この場合の『次のタグ』とは、どのような意味でしょうか? 上記の selectSingleNode のコードで言うならば、 Set N2 = N1.nextSibling とすれば、『<item type="test2">〜</item>』のノードが取得出来ますし、 Set N2 = N1.firstChild とすれば、『<Schema>Schema 1</Schema>』のノードが取得出来ます。 あるいは、selectNodesメソッドを使って、ノードリストを得るという手もあるかと。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.