Main Content

matlab.io.xml.xpath.Evaluator 类

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

XPath 表达式计算器

自 R2021a 起

描述

使用 matlab.io.xml.xpath.Evaluator 类的对象创建一个 XPath 表达式计算器。

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

类属性

ConstructOnLoad
true
HandleCompatible
true

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

创建对象

描述

示例

evaluator = matlab.io.xml.xpath.Evaluator() 创建一个 XPath 表达式计算器。

属性

全部展开

自定义前缀解析器,指定为 matlab.io.xml.xpath.PrefixResolver 类的子类的对象。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

是否解析命名空间前缀,指定为 truefalse。如果值为 true,计算器将尝试解析 XPath 表达式中出现的命名空间前缀。如果还设置了 setPrefixResolver 属性,计算器将使用指定的解析器来解析前缀。如果不设置 setPrefixResolver 属性,计算器将使用父文档来解析前缀。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

方法

全部展开

示例

全部折叠

此示例计算一个 XPath 表达式,该表达式在文件 music.xml 中查找名为 Instrument 的节点。

文件 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 表达式并指定 XML 文件。

import matlab.io.xml.xpath.*

xpExpr = "//Instrument";
xmlFilePath = "music.xml";

计算 XPath 表达式,并以节点对象向量形式返回节点。

data = evaluate(Evaluator,xpExpr,xmlFilePath,EvalResultType.NodeSet)
data=1×4 Element array with properties:
    TagName
    HasAttributes
    TextContent
    Children

算法

MATLAB® Evaluator 对象支持在 XPath 表达式中使用以下标准 XPath 函数:

  • current

  • document

  • element-available

  • format-number

  • function-available

  • generate-id

  • key

  • system-property

  • unparsed-entity-uri

有关这些函数的定义和用法的详细信息,请参阅万维网联盟网站上的 XPath and XQuery Functions and Operators 3.1

版本历史记录

在 R2021a 中推出