VB2005でXMLのテキストデータをXMLデータにするやり方

このQ&Aのポイント
  • VB2005でXMLのテキストデータをXMLデータに変換する方法について教えてください。
  • XMLデータをテキストデータに変換する方法は分かりましたが、逆の変換方法が分かりません。アドバイスをお願いします。
  • XMLデータのタグ付きテキストデータを読み込んで、DBに登録するためにはどのように変換すればいいのでしょうか。初心者なので、わかりやすく教えていただけると助かります。
回答を見る
  • ベストアンサー

VB2005でXMLのテキストデータをXMLデータにするには?

VB2005の初心者です。 タグ付きのXMLのテキストデータを読み込んで、項目ごとにDBに登録したいのですが、やり方が分りません。 テキストデータをXMLデータ、もしくはノード、もしくはデータセット型に変換しなければならないと思うのですが、そのやり方を教えていただきたいです。 ちなみに、XMLデータをテキストデータにするのは下記のとおりでできました。この strText を逆にXMLデータに変換したいです。 Dim xmlDoc As MSXML2.DOMDocument = New MSXML2.DOMDocument Dim strText As String xmlDoc.PreserveWhitespace = True xmlDoc.Load("C:XMLData.xml") strText = xmlDoc.xml 何かヒントでも良いので、たくさんの方の知恵をお借りしたいです。

noname#51596
noname#51596

質問者が選んだベストアンサー

  • ベストアンサー
  • ape5
  • ベストアンサー率57% (85/148)
回答No.1

DataSetのReadXMLメソッドを使えば、XMLファイルから読み込んでDataSetに取り込めると思います。それをDBに登録すればよいかと。

noname#51596
質問者

お礼

xmlDoc.LoadXml(strText)でできました。 お騒がせしてすみませんでした。 アドバイス、ありがとうございました。

関連するQ&A

  • XMLデータをパーサーをかけてテキストデータにするには?

    VB2005の初心者です。 XMLファイルを読み込んで、パーサーをかけてテキストデータにしたいのですが、やり方が分りません。 (パーサーを使わずにテキストデータにすることはできます。) ご存知の方は、ヒントでも良いので教えていただきたいです。 仕事で行き詰っているため、たくさんの方の情報をいただけると幸いです。 下記は、パーサーを使わないやり方です。 Dim xmlDoc As XmlDocument = New XmlDocument Dim strText As String xmlDoc.PreserveWhitespace = True xmlDoc.Load("C:\XMLData.xml") strText = xmldoc.OuterXml パーサーを使う場合、下記のようになると思うのですが、 どのようにテキストデータにすれば良いのか分りません。 (OuterXmlが使えません。) Dim xmlDoc As MSXML2.DOMDocument = New MSXML2.DOMDocument Dim strText As String xmlDoc.PreserveWhitespace = True xmlDoc.Load("C:\XMLData.xml") よろしくお願い致します。

  • VBでXMLファイルを作成していますが、エラーになります

    すみません、教えてください。 VB6でXMLファイルを作成しています。コメントを入れようとすると"!--"の文字でこけます。どうしたらいいのでしょうか?コーディングは以下のようにしてます。 Dim xmlDoc As New MSXML2.DOMDocument40 'XMLドキュメント Dim xmlPI As IXMLDOMProcessingInstruction 'XML宣言 Dim node(3) As IXMLDOMNode '要素 garFNRpt = sFPass + "Sousinfile\DATA\" + sFilemei + ".xml" 'XML宣言を追加します。 Set xmlPI = xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""")) Set node(1) = xmlDoc.appendChild(xmlDoc.createNode(NODE_ELEMENT, """!--""kml基本情報", "")) よろしくお願いします

  • vb6 XMLファイル出力について<S></S>

    vb6にてXMLファイル出力のプログラムを作成しています。 XMLファイル内容 <?xml version="1.0" encoding="UTF-8"?> <root> <key>AA</key> <string>aa</string> <key>BB</key> <string/> </root> 上記の<string/>の部分を<string></string>のように出力したいのですが、 どうしても上手くいきません。 下記にソースを記載します。 何か少しでもお分かりになる情報がありましたらご教授願いします。 よろしくお願いします。 Dim xmlDoc As MSXML2.DOMDocument 'XMLドキュメント Dim xmlPI As IXMLDOMProcessingInstruction 'XML宣言 Dim node(50) As IXMLDOMNode '要素 Dim attr As MSXML2.IXMLDOMAttribute '属性 'XMLドキュメントを作成 Set xmlDoc = New MSXML2.DOMDocument 'XML宣言を追加 Set xmlPI = xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""")) '<root>要素を追加 Set node(1) = xmlDoc.appendChild(xmlDoc.createNode(NODE_ELEMENT, "root", "")) '<key>要素を追加 Set node(2) = node(1).appendChild(xmlDoc.createNode(NODE_ELEMENT, "key", "")) node(2).Text = "AA" '<string>要素を追加 Set node(3) = node(1).appendChild(xmlDoc.createNode(NODE_ELEMENT, "string", "")) node(3).Text = "aa" '<key>要素を追加 Set node(4) = node(1).appendChild(xmlDoc.createNode(NODE_ELEMENT, "key", "")) node(4).Text = "BB" '<string>要素を追加 Set node(5) = node(1).appendChild(xmlDoc.createNode(NODE_ELEMENT, "string", "")) node(5).Text = "" 'XMLドキュメントの出力 Dim strXMLFile As String strXMLFile = Format(Date, "yyyymmdd") & Format(Time, "hhmmss") xmlDoc.save ("C:TEST\TEST.xml") '終了処理 If Not xmlDoc Is Nothing Then Set xmlDoc = Nothing If Not xmlPI Is Nothing Then Set xmlPI = Nothing

  • VB6でXMLを作成しているのですがエラーが出ます

    VB6でXML作成のプログラムを作ったのですが、読み取り専用のノードを編集しようとしましたのメッセージボックスが表示されます。 どなたかどこが悪いのか、ご教授願います。 ソースコードは以下の通りです。 Dim xmlDoc As MSXML.DOMDocument 'XMLドキュメント Dim xmlPI As IXMLDOMProcessingInstruction 'XML宣言 Dim node(3) As IXMLDOMNode '要素 Dim attr As MSXML.IXMLDOMAttribute '属性 Dim newText Set xmlDoc = New MSXML.DOMDocument 'XMLドキュメントを作成します。 'XML宣言を追加します。 Set xmlPI = xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""")) '<ClinicalDocument>要素を追加します。 Set node(1) = xmlDoc.createElement("ClinicalDocument") Call xmlDoc.appendChild(node(1)) 'xmlns:xsi属性を追加します。 Set attr = xmlDoc.createAttribute("xmlns:xsi") Call node(1).Attributes.setNamedItem(attr) attr.nodeValue = "http://www.w3.org/2001/XMLSchema-instance" ''ここでエラーが出ます '<Customer>要素を追加します。 Set node(2) = xmlDoc.createElement("Customer") Call node(1).appendChild(node(2)) Call node(2).appendChild(xmlDoc.createTextNode(vbNewLine)) 'id属性を追加します。 Set attr = xmlDoc.createAttribute("id") Call node(2).Attributes.setNamedItem(attr) attr.nodeValue = "1" '<Name>要素を追加します。 Set node(3) = xmlDoc.createElement("Name") Call node(2).appendChild(node(3)) Set newText = xmlDoc.createTextNode("Jhon") Call node(3).appendChild(newText) 'XMLドキュメントの出力 xmlDoc.save (App.Path & "\customer.xml")

  • VBでXMLファイルを作ると xmlns= が・・・

    VB6でXMLを作成しています。 Dim xmlDoc As New MSXML2.DOMDocument40 'XMLドキュメント Dim xmlPI As IXMLDOMProcessingInstruction 'XML宣言 Dim node(7) As IXMLDOMNode '要素 Set xmlPI = xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version= ""1.0"" encoding= ""Shift_JIS"" standalone= ""no""")) Set node(1) = xmlDoc.appendChild(xmlDoc.createNode(NODE_ELEMENT, "kml", "")) Set node(2) = node(1).appendChild(xmlDoc.createNode(NODE_ELEMENT, "kmlHeader", "")) Set node(3) = node(2).appendChild(xmlDoc.createNode(NODE_ELEMENT, "kml_DTD", " kml_Version= 2.8"" kml_FileName=""../DTD/HYB01.dtd")) 以下省略 すると <kml_DTD xmlns="kml_Version= 2.8" kml_FileName="../DTD/HYB01.dtd" /> "xmlns=" はどうすれば消えますか?お願いします。

  • VB2005でXMLデータの要素があるかどうかの判定について

    VB2005、XMLの初心者です。 XMLデータをMSXMLでパーサーにかけてから全項目を抽出していますが、要素は必須のものもあれば、省略される場合もあります。 下記の方法では、省略されている場合エラーとなってしまうのですが、 指定したパスの要素があるかどうか判定することはできないのでしょうか。 省略される可能性のある場合は、selectsingleNodeではなく、何か別の方法で項目を取得しなければならないのでしょうか。 Private Sub prvParseXML(Byval msxmlDoc As MSXML2.DOMDocument) Dim Item As String Dim TableId As String Item = msxmlDoc.selectsingleNode("/Mml/content/Module/Class/Code").Text TableId = msxmlDoc.selectsingleNode("/Mml/content/Module/Class/@tableId").Text End Sub 項目を抽出する方法は上記しか分からなかったのですが、 何かヒントになることでも良いので皆様の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • VB2005でXMLデータから複数ある要素の入れ子を取得する方法

    VB2005、XML の初心者です。 VB2005でXMLデータをMSXMLで解析していますが、下記のようなXMLの場合、Itemがうまく解析できません。 Module > Parent > Item という親子関係ですが、 全て数は可変です。(子がない場合もあります。) <Body> <Content> <Module> </Module> <Module> <Parent> <Item>A</Item> </Parent> </Module> <Module> <Parent> <Item>AA</Item> <Item>BB</Item> <Item>CC</Item> </Parent> </Module> <Module> </Module> </Content> </Body> ソースは下記です。 Dim LmsxmlDoc As MSXML2.DOMDocument LmsxmlDoc = New MSXML2.DOMDocument LmsxmlDoc.LoadXml(XMLData) Dim LModules As MSXML2.IXMLDOMNodeList '下記Moduleは取得できる LModules = LmsxmlDoc.SelectNodes("/Body/Content/Module") Dim LItems As MSXML2.IXMLDOMNodeList Dim LmsxmlModule As MSXML2.DOMDocument LmsxmlModule = New MSXML2.DOMDocument For Each LModule As MSXML2.IXMLDOMNode In LModules '下記(1)でも(2)でもItemが取得できない (1)LItems = LModule.selectNodes("/Module/Parent/Item") LmsxmlModule.LoadXml(LModule.Xml) (2)LItems = LmsxmlModule.selectNodes("/Module/Parent/Item") For Each LItem As MSXML2.IXMLDOMNode In LItems '処理 Next Next 上記ソースでは、(1)、(2)のどちらの方法でもなぜかItemが取得できません。 Itemを取得するにはどうすれば良いのでしょうか。 ヒントでも良いので、皆様の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • [VBA] MSXML2.DOMDocument

    MSXML2.DOMDocument を用いて、xml のデータを取得しています。 相手のサーバーがダウンしていると、 Dim xmlDoc As New MSXML2.DOMDocument xmlDoc.async = False xmlDoc.Load (taisyoURL) ↑ この部分でフリーズしてしまい、それ以降続行できません。 false も返ってくるわけではないのでどうしたらよいのか 困っております。 タイムアウト又は何かしらの方法でエラー処理をさせる ことはできますでしょうか?

  • VB2005でXMLデータをParserを使って項目を抽出する方法

    VB2005の初心者です。 XMLデータをパーサーをかけて、特定の項目を抽出してDBに登録したいのですが、パーサーの機能(?)で特定の項目を抽出することはできるのでしょうか。 下記のように、msxmldocにLoadした後、タグ名で検索して特定の項目を抽出する方法はあるのでしょうか。 Dim msxmlDoc As MSXML2.DOMDocument msxmlDoc = New MSXML2.DOMDocument msxmldoc.Loadxml(strFullText) 何かヒントでも、他の方法でも、たくさんの方の知恵をお借りしたいです。よろしくお願い致します。

  • XMLファイルのattribute値を取得するには?

    ASP内の処理でwebからXMLファイルをLoadし、 そこからattribute値を取得するにはどうすればよいのでしょうか? ちなみにXMLファイル取得は成功しています。 使用スクリプトはVBscriptです。 以下がロードしたXMLファイルの内容です。 <?xml version="1.0" encoding="Shift_JIS" ?> <xml> <AAA width="2.15" <--この2.15と height="4.60" <--この4.60を取得したい /> </xml> 以下が今、途中まで作っているソースです。 <% language = "VBscript" %> <% Dim XmlDoc, objXmlError, objXmlNode Set XmlDoc = CreateObject("MSXML2.DOMDocument") xmlDoc.async = false XmlDoc.setProperty "ServerHTTPRequest", true XmlDoc.load("http://localhost/test.xml") Set objXmlNode = XmlDoc.selectNodes("/root/AAA") ここから先がよくわからない %>

専門家に質問してみよう