Я новичок в прогрессе саксофониста.Я читаю XML и пытаюсь получить значение одного из атрибутов в узле.В частности, значение атрибута place-id.
<address ssid="32975" place-id="11537" quality="good">
Я читаю документацию здесь: https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvxml%2Fretrieving-data-from-a-sax-attributes-object.html%23wwID0ECILM и мне кажется, что это указывает на то, что я должен использовать
GET-VALUE-BY-NAMESPACE-NAME( )
Я написал это такв случае:, но не смог заставить его работать, и не может найти никаких примеров:
WHEN "address" THEN ASSIGN lv-place-id = charData.GET-VALUE-BY-NAMESPACE-NAME('address','place-id').
Любая помощь приветствуется.
Прошло много времени с тех пор, как я что-то кодировал с помощью SAX-ридера, но мой старый код подсказывает, что вы, вероятно, хотите что-то вроде этого в вашей процедуре StartElement ():
placeId = hAttributes:get-value-by-qname( "place-id" ).
В зависимости от того, кто вына самом деле вам может понадобиться дополнительный код, чтобы решить, когда его выполнять (я предполагаю, что ваш оператор CASE подходит для этой цели).
Этот пример кода также может быть полезен:
https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvxml%2Fwithout-namespace-processing.html%23wwID0EFNAO