nsIINIParser
can be used to read values from an INI file.
nsISupports
Last changed in Gecko 1.8 (Firefox 1.5 / Thunderbird 1.5 / SeaMonkey 1.0)Typically, you'll create an nsIINIParser
object by calling nsIINIParserFactory.createINIParser()
. Also, if you need to write to an INI file, use nsIINIParserWriter
.
|
|
|
Methods
getKeys()
Returns an nsIUTF8StringEnumerator
providing the keys available within the specified section of the INI file.
nsIUTF8StringEnumerator getKeys( in AUTF8String aSection );
Parameters
-
aSection
- The name of the section whose keys you wish to enumerate.
Return value
An nsIUTF8StringEnumerator
object that can be used to access the section's keys.
getSections()
Returns an nsIUTF8StringEnumerator
providing a list of the sections available within the INI file.
nsIUTF8StringEnumerator getSections();
Parameters
None.
Return value
An nsIUTF8StringEnumerator
object that can be used to access the sections in the INI file.
getString()
Returns the string value for the specified key within a particular section of the INI file.
AUTF8String getString( in AUTF8String aSection, in AUTF8String aKey );
Parameters
-
aSection
- The section containing the key whose value is to be returned.
-
aKey
- The key for which the value should be returned.
Return value
The string value of the specified key.
Examples
Getting a value for a key
This example provides a function you can call to obtain the value for a specific key in a given INI file.
/** * Returns the value for a given property in an INI file * @param {nsIFile} iniFile * The ini file to get the value from * @param {String} section * The name of the section in the ini file. INI sections are * defined by square brakets and look like this: [Settings] * All entries below such a section definition belong to that * section (until the next section). * @param {String} prop * The name of the property to get. */ function getIniValue (iniFile, section, prop) { var iniFact = Components.manager.getClassObjectByContractID( "@mozilla.org/xpcom/ini-parser-factory;1", Components.interfaces.nsIINIParserFactory ); var iniParser = iniFact.createINIParser(iniFile); try { return iniParser.getString(section,prop); } catch(e) { return undefined; } } // Usage: var lang = getIniValue(file,"Setting","Language");
Enumerating sections
This example gets a list of all the sections in the INI file.
// get all sections in the ini file var sectEnum = iniParser.getSections(); // save the sections in an array var sections = []; while (sectEnum && sectEnum.hasMore()) { var section = sectEnum.getNext(); // add an array entry for each section sections.push(section); }
Enumerating keys
This example shows how to fetch the values for all the keys in the section named "Setting".
// get all keys for the "Setting" section var keysEnum = iniParser.getKeys("Setting"); // save the keys and values in an object var keys = {}; while (keysEnum && keysEnum.hasMore()) { var key = keysEnum.getNext(); // create a property for each key and assing the ini value. keys[key] = iniParser.getString("Setting", key); }