Xml 是Google Sheet';遵循特定标准的XPath查询?
我试图在谷歌电子表格中创建一个股票列表(PH股票),其中有一列包含最新价格,并将其与我设定的目标价格进行比较。今天下午我一直在尝试解析,但无法获取标记中的值 通过阅读XPath文档,我认为它只不过是这么简单:Xml 是Google Sheet';遵循特定标准的XPath查询?,xml,xpath,google-sheets-formula,Xml,Xpath,Google Sheets Formula,我试图在谷歌电子表格中创建一个股票列表(PH股票),其中有一列包含最新价格,并将其与我设定的目标价格进行比较。今天下午我一直在尝试解析,但无法获取标记中的值 通过阅读XPath文档,我认为它只不过是这么简单:=IMPORTXML(“http://phisix-api.appspot.com/stocks/BPI.xml“,“//stocks/stock/price/amount”)遵循树的层次结构并跟踪我需要的标记。但它似乎不起作用。然后我尝试了=IMPORTXML(“http://phisix
=IMPORTXML(“http://phisix-api.appspot.com/stocks/BPI.xml“,“//stocks/stock/price/amount”)
遵循树的层次结构并跟踪我需要的标记。但它似乎不起作用。然后我尝试了=IMPORTXML(“http://phisix-api.appspot.com/stocks/BPI.xml“,“//stocks/stock/price/amount/text()”
因为我需要的是标签中的文本,但不是骰子
是否有谷歌表单遵循的特殊编码/标准或格式?我唯一要做的就是使用=IMPORTXML(“http://phisix-api.appspot.com/stocks/BPI.xml“,“/@symbol”)
我尝试的其他方法都不管用
我甚至尝试了生成的Xpath,它是:/stocks[@xmlns=”http://phisix-api.appspot.com/phisix-stocks“]/stock[@symbol=“BPI”]/price/amount
但它不起作用
有什么建议吗?所讨论的XML包含一个默认名称空间。它为XPath表达式创建了一个“问题” Google Sheets(GS)似乎只与XPath 1.0兼容 如果您的环境支持XPath 2.0,则可以按如下方式使用名称空间通配符 XPath 2.0
/*:stocks/*:stock/*:price/*:amount/text()
/*[local-name()='stocks']/*[local-name()='stock']/*[local-name()='price']/*[local-name()='amount']/text()
XPath 1.0
/*:stocks/*:stock/*:price/*:amount/text()
/*[local-name()='stocks']/*[local-name()='stock']/*[local-name()='price']/*[local-name()='amount']/text()
生成的XPath是垃圾—在XDM数据模型中,永远不会有名为“xmlns”的属性。但它揭示了问题的原因,Yitzhak已经为您解决了这个问题。