matlab.io.xml.xpath.CompiledExpression class

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

Скомпилированное выражение XPath

Описание

Объект matlab.io.xml.xpath.CompiledExpression класс представляет скомпилированное выражение XPath. Вы можете предоставить CompiledExpression объект, вместо исходного выражения XPath, в evaluate метод matlab.io.xml.xpath.Evaluator объект.

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

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

ConstructOnLoad
true
HandleCompatible
true

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

Создание

Как создать matlab.io.xml.xpath.CompiledExpression объект, вызовите compileExpression метод matlab.io.xml.xpath.Evaluator объект.

Свойства

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

Исходное выражение XPath, заданное как вектор символов.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Примеры

свернуть все

Эти примеры компилируют выражение XPath и передают скомпилированное выражение в средство оценки выражения XPath.

В примере используется файл music.xml, который содержит эту разметку XML:

<MusicalEnsemble>
	<Ensemble>
		<Music>Jazz</Music>
            <BandName>Kool Katz</BandName>
		<Instrumentation>
			<Instrument type="wind">Trumpet
            </Instrument>
			<Instrument type="percussion">Piano
                <pianotype>concert grand</pianotype>
            </Instrument>
			<Instrument type="percussion">Drums
                <drumkit>Bass drum</drumkit>
                <drumkit>Floor tom</drumkit>
                <drumkit>Snare drum</drumkit>
                <drumkit>Hi-hat</drumkit>
                <drumkit>Ride cymbal</drumkit>
            </Instrument>
			<Instrument type="string">Bass
                <basstype>upright</basstype>
            </Instrument>
		</Instrumentation>
	</Ensemble>
    <Musicians>
        <Name role="trumpeter">Miles</Name>
        <Name role="vocalist">Roger</Name>
        <Name role="pianist">Diana</Name>
        <Name role="drummer">George</Name>
        <Name role="bassist">John</Name>
    </Musicians>
</MusicalEnsemble>

Скомпилируйте выражение XPath //Instrument вызовом compileExpression метод matlab.io.xml.xpath.Evaluator объект.

import matlab.io.xml.xpath.*

evalObj = Evaluator();
compExpObj = compileExpression(evalObj,"//Instrument");

Вычислите скомпилированное выражение в контексте music.xml и возвращает получившиеся узлы как вектор объектов узлов.

xmlFilePath = "music.xml";
data = evaluate(evalObj,compExpObj,xmlFilePath,EvalResultType.NodeSet)
data=1×4 object
  1x4 Element array with properties:

    TagName
    HasAttributes
    TextContent
    Children

Введенный в R2021a