• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.net XMLの作成方法 Iniの代替)

VB.net XMLの作成方法 Iniの代替

MARU4812の回答

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

仕様が固まっているときに私が良く使うのは、 クラス丸ごとシリアル化 http://dobon.net/vb/dotnet/file/xmlserializer.html 自分のアプリケーションでしか使わないなら、セクション やキーすらも面倒。使いたい形のままで保存です。 お手軽だけど、バージョンアップしてドンドン設定が 追加されていく場合は、過去のデータを引き継ぐところ とかもコーディングが必要になってくるかも。 .configファイルはEXEのあるフォルダに置くと思うので、 読み取り専用の設定で使ってます。UAC対策が必須となって きていますので。 INIファイルの利点の1つは、ユーザに直接編集して もらえる可能性が高いという点だと思っています。 XMLでは「ごちゃごちゃタグが付いたら分かり難い」 って言われてINIファイルを採用した.NETのシステム 開発も経験しました。結局お金を出してくれる人が決めた 仕様次第ですし、素人の方にはタグが付いただけで敷居が 高くなるんですよね。。。そういう意味ではINIファイル の方が優秀かもしれません。 まぁ、設定画面もフォームで作ってアプリケーションから 設定させる想定なのかもしれませんが。

TinyPine
質問者

お礼

ご回答有難うございます。 >INIファイルの利点の1つは、ユーザに直接編集して もらえる可能性が高いという点だと思っています。 そうなんですよね。ユーザーの人はINIファイルなら編集出来ています。 今更XMLにしますと言ってもタグの中の一部が必要な内容で、現場が混乱するだけ。 何処かのサイトに書いてありましたが、ユーザーに編集させるならエディターも用意して上げなくてはと。 エディターを用意するぐらいならせっかくIniファイルを実装したのだから、VB.netの基本姿勢には背くようですが、Iniファイルを踏襲したほうがエンドユーザーの為に成りますね。 明日の会議ではIniファイル続投で行こうと思います。

関連するQ&A

  • VB2008 オブジェクトプロパティの保存方法

    VBの超初心者です。 早速質問ですが フォーム上に複数のチェックボックスやテキストがあり、そのプロパティ(checkedやtext)を保存し、 またその保存したファイルをフォーム上で開けることができるようにしたいのですが、 何をどうしたらいいのかわかりません。 方法としては↓に書かれているような方法であっているのでしょうか? http://dobon.net/vb/dotnet/file/xmlserializer.html ↑に書かれているMainClass.Main()を動かせば"C:\test\sample.xml"ができるのか? と、やってみたのですがDim serializer・・・のところでエラー ”System.InvalidOperationException はハンドルされませんでした。” となってしまいます。 そもそもの方法があっているのかどうかもわからず困惑中です。 どなたか、わかる方がいれば、参考ページでも結構ですので教えてください。 宜しく御願いします。

  • VB.NETとVC.NET(MFC)で互換のXMLパーサ

    WinXP Embbeded上で動作する一種の制御ソフトを 開発しないといけないのですが、 本体制御ソフトをVCで、ユーザIF(GUI)をVBで作ることにしています。 パラメータ等の設定をGUIと本体ソフトで遣り取りしないといけません。 VBソフトとVCソフトのそれぞれに互換のシリアライザ の様なものを実装して、共通のファイルを互いに 読み書きすることを考えています。 GUIは極力標準的かつ平凡なソフトにしたいので .NET Framework以外のライブラリを使うのは避け、XmlSerializerあたりを使うと良いのかと思いますが、VC(MFC)はXmlSerializerが吐き出したXMLファイルを 読めるパーサは何を選べば良いのでしょうか? XMLに拘っている訳ではないのですが、言語に 依存しない最も普遍的な方法ではないかと思っています。 XML以外で良い方法があればそれも良しです。

    • ベストアンサー
    • XML
  • JavaScript側でのXML作成の方法

    JavaScript側でのXML作成の方法 Ajax開発の経験は始めてなので勝手がわかっていないのですが やりたい事はサーバー側からXMLデータを取得して JavaScript側でXMLを編集してサーバーに書き戻すような事がしたいのです。 このような場合、DOMツリーをXMLファイルにシリアライズするには IEだとActiveXObject("Microsoft.XMLDOM")、FireFoxだとXMLSerializer()を使うと いったようにブラウザごとに処理を分けねばなりません。 これは面倒なのであまりやりたくありません。 あとはベタなテキストとして var xml = "<?xml version='1.0' encoding='utf-8'?>" + "<root><element>test</element></root>" と書いていくくらいしか思いつかないのですが ブラウザ間ごとの違いを吸収してくれる XML編集用の便利なJavaScriptライブラリなどは存在したりするものでしょうか? (jQueryなどがそうのような機能を内包してたりする?) 少し調べてみた限りでは無さそうに感じたのですが 処理としてはよくありそうな事なのでお聞きしてみました。

  • VB.NETでXMLのデータをやり取りする方法

    VB.NET 2003を使用して、Windowsソフトを開発しています。 データの保存にXMLを使用したいのですが、読み出せるのですが書き込めません。 どのような方法でもいいので、既存XMLファイルにデータを追加する方法をご教授願えませんか? また、ご存知であればでよいのですが、VB.NETでWindowsソフト開発で、XMLに関する解説が詳しく掲載されているサイトはありませんか?

  • Web サイトにあるxmlファイルを更新する方法を教えてください。

    開発環境: Visual Studio .NET 2003 .NET Framework 1.1 言語: C# Web サイトにあるxmlファイルを更新する方法を教えてください。 自作クラスに保持した情報をシリアライズ・デシリアライズしxmlファイルで保存しようとしています。 シリアライズでxmlファイルを更新するのが上手くいきません。 ローカルPCでテストした結果は上手く動作しますが、Web サイトでテストするとエラーが出ます。 エラー内容は、 System.ArgumentException : ストリームに書き込めませんでした。 ===ソースコード始=== //URLを取得する Uri myUri = new Uri ("http://www.**********/test.xml");//URLを指定 XmlUrlResolver resolver = new XmlUrlResolver(); //XmlSerializerオブジェクトを作成 //書き込むオブジェクトの型を指定する System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer( typeof(MyData));//MyDataはオブジェクトの型 //ファイルを開く System.IO.Stream fs = (System.IO.Stream)resolver.GetEntity(myUri, null, typeof(System.IO.Stream)); //シリアル化し、XMLファイルに保存する serializer.Serialize(fs, d_MyData);//d_MyDataはオブジェクト *ココでエラーが出ます。 ===ソースコード終=== Web サイトでのフォルダ権限はフルコントロールに設定しています。

  • 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")

  • VB6でXMLを作成すると変になります

    VB6でXMLを作成しています。  <kmlHeader>     <kml_Key kml_Developer='IBM'></kml_Key>  </kmlHeader> と出力したくて Dim kml As New DOMDocument40 kml.async = False kml.validateOnParse = False kml.resolveExternals = False kml.loadXML _ "<kml>" + vbNewLine + _ " <kmlHeader>" + vbNewLine + _ " <kml_Key kml_Developer='IBM'>" + vbNewLine + _ " </kml_Key>" + vbNewLine + _ " </kmlHeader>" + vbNewLine + _ "</kml>" + vbNewLine Path = sFPass + "Sousinfile\DATA\" + sFilemei + ".xml" kml.Save Path とすると - <kml> - <kmlHeader>      <kml_Key kml_Developer="IBM" /> <-- ここが変です </kmlHeader> </kml> となります。原因がわかりません。 よろしくお願いします。

  • INIファイルではなく、XMLを使うのですが。。。

    VB.NETでプログラムを作成しております シリアル通信の設定とオラクルのユーザー名パスを 現在 INIファイルで設定を保持してます [シリアル通信] ビット/秒= データビット= パリティ= ストップビット= フロー制御= [オラクル] ユーザー名= パスワード= 以上のような感じで INIファイルをもっているのですが。。 これをXMLファイルで 記述するとどのようになるのでしょうか? 教えて下さい

  • xmlファイルが生成されない

    <?php //DomDocumentを呼び出す $dom = new DomDocument('1.0','UTF-8'); //要素ノード[document]を追加 $document = $dom->appendChild($dom->createElement('document')); //新しい要素をdocumentの子要素として挿入する $document->appendChild($dom->createElement('name','名前です')); $document->appendChild($dom->createElement('text','テキストです。')); //字下げや空白を考慮してきれいに整形した出力を行う $dom->formatOutput = true; //同階層にtest.xmlとして保存 $dom->save('test.xml'); //出力 echo $dom->saveXML(); ?> のように、同じディレクトリ内にXMLファイルを生成するphpプログラムを作成してみたのですが、 ブラウザからこのPHPファイルにアクセスしてもXMLファイルが作られません。どうすれば良いのでしょうか。 なにかphp,apache等の設定をしてないからでしょうか。 よろしくお願いします。

    • 締切済み
    • PHP
  • 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基本情報", "")) よろしくお願いします