matlab.io.xml.xpath.PrefixResolver class

Пакет: matlab.io.xml.xpath

Абстрактный базовый класс для разрешителей префиксов пространства имен

Описание

The matlab.io.xml.xpath.PrefixResolver класс является абстрактным базовым классом для дериватора, который разрешает префиксы пространства имен, которые происходят в выражениях XPath. Как сконфигурировать matlab.io.xml.xpath.Evaluator объект, чтобы использовать разрешитель префиксов, установите PrefixResolver свойство Evaluator объект производного класса и установите ResolvePrefixes свойство к true.

The matlab.io.xml.xpath.PrefixResolver класс является handle класс.

Атрибуты класса

Abstract
true
HandleCompatible
true
ConstructOnLoad
true

Для получения информации об атрибутах класса см. раздел «Атрибуты класса».

Методы

расширить все

Примеры

свернуть все

Реализуйте решатель префикса пространства имен и используйте его для разрешения префиксов в выражениях XPath, вычисленных matlab.io.xml.xpath.Evaluator объект.

Выведите myPrefixResolver класс из matlab.io.xml.xpath.PrefixResolver класс. Определите getNamespaceForPrefix и getURL методы.

classdef myPrefixResolver < matlab.io.xml.xpath.PrefixResolver
    
    methods
        function url = getNamespaceForPrefix(resolver,prefix)
            if prefix == "a"
                url = "https://mycompany.com/ns/namespacea";
                            else
                url = "https://mycompany.com/ns/namespaceb";
                            end
        end
        function url = getURL(resolver)
            url = "https://mycompany.com";
        end
    end

end

Задайте средство оценки выражения XPath и установите PrefixResolver свойство для myPrefixResolver объект.

import matlab.io.xml.xpath.*
evalObj = Evaluator();
evalObj.PrefixResolver = myPrefixResolver;

Предположим, что myXML.xml содержит XML для поиска. Этот код оценивает выражение, которое использует префикс в пространстве имен, заданном myPrefixResolver методы объекта.

data = evaluate(evalObj,"//a:Instrument","myXML.xml",EvalResultType.NodeSet);
Введенный в R2021a