これが私のサンプルxmlデータです。現在、次のxpathを使用しています
"//person[@id]|//plan[@selected='yes']//*[not(@max_dur)]"
データは次のように報告されます
> head(z1)
id mode dep_time trav_time arr_time type link x y start_time end_time
1 10000062 car 03:32:01 00:00:47 03:32:48 <NA> <NA> <NA> <NA> <NA> <NA>
2 10000062 <NA> <NA> <NA> <NA> links <NA> 335757.670587 3127766.05749 03:32:48 07:37:44
3 10000062 <NA> <NA> <NA> <NA> work 21218 <NA> <NA> <NA> <NA>
4 10000062 car 07:37:44 00:08:52 07:46:36 <NA> <NA> <NA> <NA> <NA> <NA>
5 10000062 <NA> <NA> <NA> <NA> links <NA> 336661.535923 3120921.80874 07:46:36 08:23:20
6 10000062 <NA> <NA> <NA> <NA> meal 21594 <NA> <NA> <NA> <NA>
しかし、xpathを使用してすべての属性を読み取る場合"//person[@id]|//plan[@selected='yes']//*"
、属性は正しい順序で報告されます。正しい順序とは、サンプルデータ内の属性の出現順序を意味します。mode, dep_time, trav_time, and arr_time
以下に示すように、属性は最後に報告する必要があります。
head(z1)
id type link x y start_time max_dur end_time mode dep_time trav_time
1 10000062 home 21258 334867.243653 3126570.70778 00:00:00 03:32:01 <NA> car 03:32:01 00:00:47
3 10000062 links <NA> <NA> <NA> <NA> <NA> 07:37:44 <NA> <NA> <NA>
4 10000062 work 21218 335757.670587 3127766.05749 03:32:48 <NA> <NA> car 07:37:44 00:08:52
6 10000062 links <NA> <NA> <NA> <NA> <NA> 08:23:20 <NA> <NA> <NA>
7 10000062 meal 21594 336661.535923 3120921.80874 07:46:36 <NA> <NA> car 08:23:20 00:07:53
9 10000062 links <NA> <NA> <NA> <NA> <NA> 12:30:17 <NA> <NA> <NA>
本質的に、私は属性を読みたくありませんmax_dur
が、それでも2番目の表に示されている順序を保持します。
XMLでの属性の順序は、重要であるとは見なされません。XMLパーサーは、元の順序で属性を報告する必要がないため、アプリケーションは順序に依存しないようにする必要があります。さまざまなXMLパーサーとさまざまなXPathプロセッサーにより、さまざまな順序で属性が提供されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加