hasOwnProperty обычно не используется для xml (для людей, следующих за тегом javascript, mirth встраивает движок JavaScript Mozilla Rhino, который использует устаревший стандарт e4x для обработки xml.) HasOwnProperty не работает должным образом, когда существует несколько именованных дочерних элементовvalue
.Исходя из соглашения об именовании, я предполагаю, что возможно иметь несколько значений с разными кодами.
Это создаст массив для hasCode, который содержит логическое значение для каждого вхождения дочернего элемента с именем value.
var hasCode = [];
var hasValue = msg.value.length() > 0;
for each (var value in msg.value) {
// Use this to make sure the attribute named code exists
// hasCode.push(value['@code'].length() > 0);
// Use this to make sure the attribute named code exists and does not contain an empty string
// The toString will return an empty string even if the attribute does not exist
hasCode.push(value['@code'].toString().length > 0);
}
(хотя length
- это свойство для строк, это метод для объектов XML, поэтому круглые скобки правильные.)