none
如何使用xmltextreader读取特定节点值? RRS feed

  • 问题

  • 如何使用xmltextreader读取特定节点值?(Winform程序)

    xml文件如下:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
     
      <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
          <section name="WindowsFormsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
      </configSections>

      <userSettings>
        <WindowsFormsApplication1.Properties.Settings>
          <setting name="autostart" serializeAs="String">
            <value>False</value>
          </setting>
          <setting name="defaultuser" serializeAs="String">
            <value>False</value>
          </setting>
          <setting name="needpwd" serializeAs="String">
            <value>False</value>
          </setting>
          <setting name="shownotifyicon" serializeAs="String">
            <value>True</value>
          </setting>
          <setting name="hideprom" serializeAs="String">
            <value>False</value>
          </setting>
          <setting name="exit" serializeAs="String">
            <value>True</value>
          </setting>
          <setting name="autoupdatemsg" serializeAs="String">
            <value>True</value>
          </setting>
        </WindowsFormsApplication1.Properties.Settings>
      </userSettings>
    </configuration>

    如何读取特定节点值?
    如,我需要读取加粗字段的值?

    2009年9月24日 18:14

答案

  • 你好直接通过相关类就可以的 通过Configuration config=  System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            System.Configuration.ClientSettingsSection s = config.GetSectionGroup("userSettings").Sections["WindowsFormsApplication1.Properties.Settings"] as System.Configuration.ClientSettingsSection;
            string value = s.Settings.Get("shownotifyicon").Value.ValueXml.InnerText;
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 Ray_Ma 2009年9月26日 7:41
    2009年9月25日 1:52
    版主

全部回复

  • 你好直接通过相关类就可以的 通过Configuration config=  System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            System.Configuration.ClientSettingsSection s = config.GetSectionGroup("userSettings").Sections["WindowsFormsApplication1.Properties.Settings"] as System.Configuration.ClientSettingsSection;
            string value = s.Settings.Get("shownotifyicon").Value.ValueXml.InnerText;
    Wenn ich dich hab’,gibt es nichts, was unerträglich ist.坚持不懈!http://hi.baidu.com/1987raymond
    • 已标记为答案 Ray_Ma 2009年9月26日 7:41
    2009年9月25日 1:52
    版主
  • 用 xpath document  进行查询
    或者用 linq to xml


    恭喜自己5星用户达成
    2009年9月25日 2:22