2014-12-18 3 views
1

мне нужно, чтобы получить доступ к полю, используя переменный,IBM ESQL динамически получать доступ к полям

  1. я имею переменное Enviroment содержащего путь поля я нужен изменить эс. SET Environment.Variabili.Mappings.mapping [1] .xpath = 'trades.trade [1] .id';

  2. я хочу, чтобы изменить значение этого поля usinng окружающей среды для переменной es.SET OutputRoot.XML.MxML {Environment.Variabili.Mappings.mapping [1] .xpath} = 'тест'.;

Но это не изменяет поле, но создать другое поле, как это:

<MxML> 
    ... 
    ... 
    ... 
    <trades.trade[1].id>test</trades.trade[1].id> 
<MxML> 

Можно ли динамически Acces в поле XML?

Ty. С уважением.

ответ

0

Вы случайно используете домен XML. Ваше заявление должно быть SET OutputRoot.XMLNSC.MxML...

Ваш оператор ESQL SET ведет себя в соответствии со спецификацией. Он создал новый тег с именем, принятым от значения Environment.Variabili.Mappings.mapping[1].xpath

Если вы хотите динамически создавать подполь в пределах выходного дерева, то вам нужно будет - написать несколько ESQL, чтобы разметить значение Environment.Variabili.Mappings.mapping[1].xpath - используйте CREATE для создания каждого поля в дереве вывода.

Прежде чем вы начнете писать этот код, вы можете рассмотреть возможность изменения дизайна. Было бы проще создать древовидную структуру в дереве среды и просто скопировать ее в OutputRoot.XMLNSC.