• 締切済み

app.configのカスタムセクションを個別に取得

23歳男性です。 アプリケーション構成ファイルの取得方法について質問があります。 以下の記述をapp.config内に記述しました。 (type属性など長文になるものは省いております) 'セクション定義 <configSections> <sectionGroup name="usersettings"・・・・> <section name="ConsoleApplication1.rensyu"・・・・ /> </sectionGroup> </configSections> 'セクション <usersettings> <ConsoleApplication1.rensyu> <setting name="a001" serializeAs="String"> <value>aaa</value> </setting> <setting name="a002" serializeAs="String"> <value>bbb</value> </setting> </usersettings> </ConsoleApplication1.rensyu> ここに書かれてあるデータの総数を求めるには、 「ConsoleApplication1.rensyu.Default.Properties.Count」 で求めることができております。 (上記の場合は、「2」を取得することができます) しかし、私は、 「ConsoleApplication1.rensyu.Default.Properties.name(0)」 のような記述をして、「value」の値を個別に取得したいと考えているのですが、うまくいきません。 (「name(0)」のようにすれば「aaa」を取得できると考えている) 一通り調べてみたのですが、該当するメソッド、またはプロパティがないように思えました。 どなたかご存知の方がいましたらご教授願います。

みんなの回答

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

System.Collections.Specialized.StringCollectionクラスを使用すればできます。 'セッティング定義 <Global.System.Configuration.UserScopedSettingAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Configuration.DefaultSettingValueAttribute("<?xml version=""1.0"" encoding=""utf-16""?>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"<ArrayOfString xmlns:xsi=""http://www.w3."& _ "org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" <s"& _ "tring>a001</string>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&" <string>a002</string>"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"</ArrayOfString>")> _ Public Property Name() As Global.System.Collections.Specialized.StringCollection Get Return CType(Me("Name"),Global.System.Collections.Specialized.StringCollection) End Get Set Me("Name") = value End Set End Property 'セクション定義 <setting name="Name" serializeAs="Xml"> <value> <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <string>a001</string> <string>a002</string> </ArrayOfString> </value> </setting>

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【vb2005】app.configデータ取得方法について

    22歳男性です。 vb2005で開発を行っています。 app.configに設定したセクション内のデータを取得しようとしているのでがうまくいきません。 ■app.config <applicationSettings> <LogDataSummary.My.MySettings> <setting name="aaa" serializeAs="String"> <value>AAA</value> </setting> <setting name="bbb" serializeAs="String"> <value>BBB</value> ・・・・・・・ ■exe my.settings.xxxxxxxxx (xxxxは任意) 上記のようにセクション内の「name」:aaa、bbbのような構成でかかれたものが複数あるとします。そして、exe側ではその複数値を取得したいと考えています。 「my.settings.xxxxx」プロパティで取得できると考えているのでが、探し出すことができません。 知っている方がいましたらご教授願います。

  • iniファイルの全セクションを取得し、ListBoxのitemにするには?VB2008

    こんにちは。VB2008を使用しています。 「Formロード時にiniファイルの全セクションを取得し、セクション1つずつをlistboxの項目にする」 という流れのコードを作成したいのですが、うまくいきません。 似たような質問などを調べてつぎはぎしてみたものの、うまく理解できなく困っています。 以下、現在記述中のコードです。 'APIの宣言 Declare Function GetPrivateProfileSectionNames Lib "Kernel32.dll" _ Alias "GetPrivateProfileSectionNamesA" _ (ByVal lpszReturnBuffer As string, ByVal nSize As Integer, _ ByVal lpFileName As String) As String 'form1ロード時 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim listboxsec As String Dim listboxitem() As String listboxsec.Capacity = 256 GetPrivateProfileSectionNames(listboxsec, 256, "./FileTest.ini") listboxitem = Split(listboxsec, "\") End Sub 最初の全セクションの取得方法がイマイチ分からない状況です。iniファイルは実行プログラムと同じ場所においてあります。 取得したセクションをSplitで配列に分け、for文でlistboxに追加していこうかと考えています。 どのような記述をすればいいのか、ご教示お願いいたします。

  • servet(idに関連付くvalue値を取得する方法について)

    HTMLのフォーム内にある 「idに関連付くvalue値を取得する方法について」教えてください。 今はnameで取得しているのですが、 それが中々不便なものでServletでidのvalue値を取得したいと思っています。 【HTML】 ---------------------------------------------- <html> <head> <title>ID_VALUE_GET</title> </head> <body> <form name="form1"> <input type="text" id="id" name="name"> </form> </body> </html> ---------------------------------------------- 現在:  String インプット属性のnameのvalue値 = getAttribute(name); 考えている事:  String インプット属性のidのvalue値 = getAttribute(id); ということをしたいのですが可能でしょうか? (nameに対して、getAttribute(getParameter)をかけるのではなく、idに対してかける方法というのはありますでしょうか?)

    • ベストアンサー
    • Java
  • struts-config.xmlについて

    strutsを用いて画面遷移を行わせる場合、 <action path="~" type="~" name="~" scope="~"> <forward name="login" path="A"/> <forward name="main" path="B"/> <forward name="sample" path="C"/> <forward name="error" path="E"/> </action> struts-config.xmlにて上記のように記述した場合、 他サーバのJSPファイルを指定することは可能でしょうか? 見当はずれな質問をしていましたらご指摘宜しくお願いします。

    • ベストアンサー
    • Java
  • なぜ文字化けして出力されるのか?

    JAVAのプログラムを勉強しているのですが、斉藤・鈴木をHeroとしてインスタンス化してArrayListに格納して1つずつ順番に取り出して名前を表示するプログラムを作っているのですが、System.out.printlnにて出力すると、 rensyu3.pkg2.Hero@659e0bfd rensyu3.pkg2.Hero@2a139a55 と出力されてしまいます。なぜなのでしょうか? //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// package rensyu3.pkg2; import java.util.ArrayList; /** * */ public class Rensyu32 { /** * @param args the command line arguments */ public static void main (String[] args) { // TODO code application logic here Hero saitou = new Hero ("斉藤"); Hero suzuki = new Hero ("鈴木"); ArrayList<Hero>yusya=new ArrayList<Hero> (); yusya.add (suzuki); yusya.add (saitou); for (Hero hero : yusya) { System.out.println (hero); } } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// package rensyu3.pkg2; /** * */ public class Hero { private String name; public Hero(String name){ this.name=name; } public String Getname(){ return this.name; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    • ベストアンサー
    • Java
  • JavaScriptのValue内容を取得する方法

    WEBページを表示してそのソースの中の JavaScriptのValueの内容を取得したいのですが、 どのように書いたら良いでしょうか? <input type=hidden name="textstring" value="abcdefg"> のようになっています。 dim a as string = IE.Document.Forms(0).Elements("textstring").value としてみたのですが、エラーになってしまいました。 宜しくお願いいたします。

  • Struts2についての質問

    Struts2についての質問 いつもお世話になっております。 <s:radio>のcheckedについて教えて頂ければと思います。 現在のradio部分のjspは <s:radio name="aaa.bbb"list="array" value="<s:property/>"/> と記述しております。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=48216&forum=12 こちらの質問と同じだと思い、value値に値を入れても変わらず・・・。 Actionのarrayは以下のように定義しております。 ArrayList<String> array = new ArrayList<String>(); array.add("こんにちは"); array.add("こんばんわ"); array.add("おはよう"); public ArrayList<String> getArray(){ retrun this.array; } 最初に表示されるラジオボタンにデフォルトでチェックをいれたいのですが どのように記述すればいいのでしょうか。 ご指摘頂ければ幸いです。 宜しくお願い致します。

  • プルダウンメニューの内容の取得方法ってありますか?

    プルダウンメニューで、VALUE値 選択された項目の内容って取得できないんでしょうか。 <FORM NAME="sltTest"> <SELECT NAME="slt01"> <OPTION VALUE="01">内容1</OPTION> <OPTION VALUE="02">内容2</OPTION> </SELECT> </FORM> たとえば上記のようなメニューのとき、 選択された「内容1」もしくは「内容2」を取得したいとき どう記述すれば取得可能でしょうか。

  • propertiesが読み込めなくてnullになる件について

    <エラー内容> HTTP Status 404 - /enquete/null/servlet/enquete.back.LoginSvlt Config.propertiesが読み込めなくてnullになっています。 propertiesの配置場所はWEB-INFのclassフォルダのしたにしています。 一応、場所が間違っているといけないので考えられるところすべてに配置してもうまくいきません。 enquete │  ├―WEB-INF │ │  │ │  │ ├―classes │ │ │ Config.properties │ │ │  │ │ ├―enquete │ │ │ └―back │ │ │     Config.properties │ │ │     LoginSvlt.class │ │ │      │ └―src │   │ Config.properties │   │  │   └―enquete │     └―back │         Config.properties │         LoginSvlt.java │          └―LoginJsp.jsp <Config.properties> #BACK エイリアス名 BACKALIAS=/enquete <LoginSvlt.java> //セッション管理 HttpSession session = generateSession(request); ResourceBundle rb = ResourceBundle.getBundle("Config"); System.out.println("Config"); System.out.println("BACKALIAS"); String b_alias = rb.getString("BACKALIAS"); session.setAttribute("b_alias", b_alias); <LoginJsp.jsp> String b_alias = (String)session.getAttribute("b_alias"); <form method="post" name="logon_form" action="<%= b_alias %>/servlet/enquete.back.LoginSvlt"> 以下の環境にて利用を試みております。 ・eclipse2.1 ・TomcatPlugin/2.1 ・JDK-1.4.2 ・Tomcat/4.1.27 Oracle10g express edtion ご教授よろしくお願いします

  • [ASP.NET] Web.configからの値取得

    ASP.NET(VBを利用)についてお尋ねいたします。 小さなプロジェクトを新規に作成し、 「web.config」の中で <configuration> <appSettings> <add key="connStr" value="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=XX;Initial Catalog=Northwind;Data Source=RED;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=RED;Use Encryption for Data=False;Tag with column collation when possible=False" /> </appSettings> <system.web> (以下略) と記載。 **.aspx.vbのほうでここで記載したkeyの値を取得し、**.aspxのラベルに出力したいと思ったのですが どうしたらいいでしょうか? 「**.aspx.vb」 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aa As New AppSettingsReader Dim str As String = "connStr" Dim st As System.Type st = aa.GetType()     'Label1.Text = aa.GetValue(str, st)     ??    End Sub また、このkeyを同一ソリューションの中の複数プロジェクトで利用したいときは、うえのような記述(web.config)でよいでしょうか? このkeyにDBサーバーへの接続文字列を記載して同一ソリューションの各プロジェクトで利用したいと思っているのですがうまくいかず困っています。 アドバイスまたは小さなサンプルでもよいので教えていただけませんか? お願いいたします。

このQ&Aのポイント
  • 【brother DCP-J982N-B】のWi-Fiプリントができなくなったため、更新しようとしたがパスワードがなくログインできない
  • お使いの環境はiPhoneで、接続はBluetoothまたは無線LANで行われている
  • 関連するソフト・アプリや電話回線の種類は特に記載がない
回答を見る