Main Content

matlab.io.xml.xpath.CompiledExpression 类

命名空间: matlab.io.xml.xpath

编译的 XPath 表达式

自 R2021a 起

描述

matlab.io.xml.xpath.CompiledExpression 类的对象表示一个编译的 XPath 表达式。您可以向 matlab.io.xml.xpath.Evaluator 对象的 evaluate 方法提供一个 CompiledExpression 对象,而不是源 XPath 表达式。

matlab.io.xml.xpath.CompiledExpression 类是一个 handle 类。

类属性

ConstructOnLoad
true
HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

要创建 matlab.io.xml.xpath.CompiledExpression 对象,请调用 matlab.io.xml.xpath.Evaluator 对象的 compileExpression 方法。

属性

全部展开

源 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>

通过调用 matlab.io.xml.xpath.Evaluator 对象的 compileExpression 方法来编译 XPath 表达式 //Instrument

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 Element array with properties:
    TagName
    HasAttributes
    TextContent
    Children

版本历史记录

在 R2021a 中推出