0

我有以下xml格式:

<tcm:Data>
    <tcm:Title>Test</tcm:Title>
    <tcm:Type>Normal</tcm:Type>
    <tcm:Schema xlink:type="simple" xlink:title="Test" xlink:href="tcm:233-190439-8" IsMandatory="false"/>
    <tcm:Content>
        <GeneralContent>
            <Title>
                <TitleText>Test</TitleText>
            </Title>
            <Summary>Test</Summary>
            <Artwork xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:title="Test" xlink:href="tcm:233-195404"/>
        </GeneralContent>
        <test1></test1>
    </tcm:Content>
</tcm:Data>

我正在使用下面的 xpath 在内容之后获取我的第一个节点

var firstNode = local-name(//tcm:Data/tcm:Content/node())

如果我签入 XMLSpy,我会得到所需的结果,即上面的代码“GeneralContent”在 Firefox 中运行良好,但在 Internet Explorer 中出现错误。

请提出可能是什么原因。

谢谢。

最好的问候, 马诺伊

4

1 回答 1

0

好吧,您还没有展示您在 Internet Explorer 中使用的 XPath 实现和 API。通常人们使用一个版本的 MSXML 作为 XPath 实现,而 MSXML 公开的 API 只有两个方法selectSingleNodeselectNodes它们确实需要作为参数传入的 XPath 表达式来返回节点集,而不是像调用local-name(...)那样返回字符串值。因此,使用 MSXML,您无法评估返回原始值(即字符串、数字、布尔值)的 XPath 表达式,除非您将 XPath 表达式放入完整的 XSLT 样式表并运行它。

于 2012-12-06T11:53:44.140 回答