我尝试将此XML Feed导入Google电子表格: http://cloud.tfl.gov.uk/TrackerNet/LineStatus
但我似乎无法为要解析的Feed获取正确的xPath。
我试过了:
=importxml("http://cloud.tfl.gov.uk/TrackerNet/LineStatus","/ArrayOfLineStatus")
和
=importxml("http://cloud.tfl.gov.uk/TrackerNet/LineStatus","/arrayoflinestatus//linestatus[1]@statusdetails")
其他几个但没有运气。我一直在使用http://xmltoolbox.appspot.com/xpath_generator.html来尝试获取Xpath。
编辑:
这是XML的编辑版本:
<ArrayOfLineStatus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://webservices.lul.co.uk/">
<LineStatus ID="0" StatusDetails="">
<BranchDisruptions/>
<Line ID="1" Name="Bakerloo"/>
<Status ID="GS" CssClass="GoodService" Description="Good Service" IsActive="true">
<StatusType ID="1" Description="Line"/>
</Status>
<LineStatus ID="81" StatusDetails="">
<BranchDisruptions/>
<Line ID="81" Name="DLR"/>
<Status ID="GS" CssClass="GoodService" Description="Good Service" IsActive="true">
<StatusType ID="1" Description="Line"/>
</Status>
</LineStatus>
</ArrayOfLineStatus>
答案 0 :(得分:1)
您的ImportXML()
来电不起作用,因为从谷歌的角度来看,给定网址的输出不是格式良好的XML。
我多次遇到此问题,因为没有工具/选项可用于将传入数据预处理为Google电子表格接受的格式,您必须放弃。
(请注意,我从未说过您的文件有任何问题。我认为Google表格对xml的处理远非理想,但不是我能解决的问题)
您现在的选择是:
import...()
函数之一(例如=IMPORTDATA("http://cloud.tfl.gov.uk/TrackerNet/LineStatus")
)并对结果进行后处理=IMPORTHTML("http://www.tfl.gov.uk/tfl/syndication/feeds/esubs/portrait-27.html","table",1)
)答案 1 :(得分:0)
OP提供的公式结果为空,因为文件使用命名空间。
注意:IMPORTXML使用xPath 1.0
尝试以下方法:
A1:XML文件的URL
A2:xPath查询。仔细检查结果是否为空
A3:=IMPORTXML(A1,A2)
示例1:以下内容不使用position而不是node-name。
+ --------------------------------------------- +
| A |
+ --------------------------------------------- +
1 | http://cloud.tfl.gov.uk/TrackerNet/LineStatus |
2 | /*/*[position()<10]/@ID |
3 | 0 |
4 | 1 |
5 | 10 |
6 | 2 |
7 | 8 |
8 | 4 |
9 | 9 |
10 | 5 |
11 | 6 |
+ --------------------------------------------- +
示例2:以下使用函数local-name()
来使用测试谓词 + --------------------------------------------- +
| A |
+ --------------------------------------------- +
1 | http://cloud.tfl.gov.uk/TrackerNet/LineStatus |
2 | //*[local-name() = 'Line']/@Name |
3 | Bakerloo |
4 | Central |
5 | Circle |
6 | District |
7 | Hammersmith and City |
8 | Jubilee |
9 | Metropolitan |
10 | Northern |
11 | Piccadilly |
12 | Victoria |
13 | Waterloo and City |
14 | Overground |
15 | TfL Rail |
16 | DLR |
17 | Trams |
+ --------------------------------------------- +
请参阅上述示例:File