diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php b/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php index a4662ba60..95dd37299 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php @@ -96,7 +96,13 @@ abstract class BaseModel } else { $result = array(); foreach ($xmlNode->children() as $childNode) { - $result[$childNode->getName()] = $this->parseOptionData($childNode); + // item keys can be overwritten using value attributes + if (empty($childNode->attributes()['value'])) { + $itemKey = (string)$childNode->getName(); + } else { + $itemKey = (string)$childNode->attributes()['value']; + } + $result[$itemKey] = $this->parseOptionData($childNode); } } return $result;