exponenta event banner

matlab.io.xml.xpath.PrefixResolver класс

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

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

Описание

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

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