Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的xpath有什么问题?_Javascript_Xml_Xpath - Fatal编程技术网

Javascript 我的xpath有什么问题?

Javascript 我的xpath有什么问题?,javascript,xml,xpath,Javascript,Xml,Xpath,我有以下xml文档: <Item> <DataContainer> <ComponentId>12</ComponentId> <ChangeTo>undefined</ChangeTo> <OperationCode>ADD</OperationCode> <ComponentTableName>invFeatureType</Component

我有以下xml文档:

<Item>
  <DataContainer>
    <ComponentId>12</ComponentId>
    <ChangeTo>undefined</ChangeTo>
    <OperationCode>ADD</OperationCode>
    <ComponentTableName>invFeatureType</ComponentTableName>
    <ComponentColName>invFeatureTypeId</ComponentColName>
    <Type>Feature</Type>
    <PlanFeatureName>Long Distance</PlanFeatureName>
    <ToPlanFeatureName/>
  </DataContainer>
</Item>
我得到以下错误:

未捕获的DomeException:未能对“文档”执行“评估”:字符串“/ITEM/DATACONTAINER[CHANGETO='12'和TYPE='FEATURE']”不是有效的XPath表达式


有什么想法吗?

也许你只是把
更改为
组件ID
混淆了?仅给定显示的文档片段,以下XPath表达式将检索单个
DataContainer
元素:

/Item/DataContainer[ComponentId = '12' and Type='Feature']
很明显,你没有表现出一个——这总是一个坏主意

关于计算路径表达式时出现的错误:如果您实际尝试计算一个全大写的路径表达式,它将不起作用。XML和XPath区分大小写,在某些实现中,逻辑
不能是大写

如果不是,可能是因为您的XPath库或框架只支持XPath规范的一小部分。例如,它可能不支持谓词(介于
[
]
之间的部分)


对评论的反应:

在开头添加
/
/
。-埃尔鲁尔


不,即使没有
/
/
路径表达式也是有效的,并且不会返回您描述的错误类型。

在开始时添加
/
/
。我添加了它,但它没有解决问题请更新您的问题,您的示例上没有
集合
标记,而且你还没有用建议更新它。它现在是否也给出了相同的错误?我更新了我的问题,它集合是错误编写的。我仍然面临相同的问题我需要ComponentId,如果它不匹配,它应该返回null而不是错误。对吗???@Abadi空结果集的返回值是特定于实现的。看起来您正在将XPath与Javascript一起使用,但没有显示任何代码。请告诉我您是否确实在路径表达式中使用了大写的
/Item/DataContainer[ComponentId = '12' and Type='Feature']