Main Content

matlab.io.xml.xpath.EvalResultType 类

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

XPath 表达式计算的结果类型

自 R2021a 起

描述

matlab.io.xml.xpath.EvalResultType 类枚举 XPath 表达式计算可以返回的值的类型。要指定计算的结果类型,请提供枚举成员作为 matlab.io.xml.xpath.Evaluator 对象的 evaluate 方法的最后一个参量。

枚举成员返回
matlab.io.xml.xpath.EvalResultType.Node

matlab.io.xml.dom 节点对象(如 matlab.io.xml.dom.Element 对象)形式返回 XPath 表达式选择的第一个节点。

matlab.io.xml.xpath.EvalResultType.NodeSet

matlab.io.xml.dom 节点对象向量形式返回由 XPath 表达式选择的节点。

matlab.io.xml.xpath.EvalResultType.Number

以双精度值形式返回 XPath 表达式选择的第一个节点的值。

matlab.io.xml.xpath.EvalResultType.Boolean

以逻辑值形式返回由 XPath 表达式选择的第一个节点的值。

matlab.io.xml.xpath.EvalResultType.String

以字符串标量形式返回 XPath 表达式选择的第一个节点的值。

示例

全部折叠

此示例计算一个 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

版本历史记录

在 R2021a 中推出