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);
}
