关闭时将节点属性留空
Leave node attributes empty on closing
我正在使用 R 的 xml2
包来编写对 OverpassAPI 的查询,这不是严格意义上的 xml 但确实很像它。
但是,我有一个问题,xml2
包在打开和关闭时写入节点属性。
# build xml object for osm query
script <- xml2::xml_new_document() %>%
xml2::xml_add_child("osm-script")
union <- xml2::xml_add_child(script, 'union into="_"')
query <- xml2::xml_add_child(union, 'query type="way"')
script
{xml_document}
<osm-script>
[1] <union into="_">\n <query type="way"/>\n</union into="_">
into="_"
属性是关于节点的开闭;我对 xml 不是很熟悉,但是在具有此属性的 Overpass 中会使查询失败。
有没有办法抑制这种行为?
出乎意料的是,xml2 比其他 xml 库聪明得多。事实证明您不需要将完整的属性字符串放在节点创建中...
script <- xml2::xml_new_document() %>%
xml2::xml_add_child("osm-script")
union <- xml2::xml_add_child(script, "union", into = "_")
query <- xml2::xml_add_child(union, "query", type = "way")
script
#> {xml_document}
#> <osm-script>
#> [1] <union into="_">\n <query type="way"/>\n</union>
感谢 Jim Hester 在 xml2 issues page
我正在使用 R 的 xml2
包来编写对 OverpassAPI 的查询,这不是严格意义上的 xml 但确实很像它。
但是,我有一个问题,xml2
包在打开和关闭时写入节点属性。
# build xml object for osm query
script <- xml2::xml_new_document() %>%
xml2::xml_add_child("osm-script")
union <- xml2::xml_add_child(script, 'union into="_"')
query <- xml2::xml_add_child(union, 'query type="way"')
script
{xml_document}
<osm-script>
[1] <union into="_">\n <query type="way"/>\n</union into="_">
into="_"
属性是关于节点的开闭;我对 xml 不是很熟悉,但是在具有此属性的 Overpass 中会使查询失败。
有没有办法抑制这种行为?
出乎意料的是,xml2 比其他 xml 库聪明得多。事实证明您不需要将完整的属性字符串放在节点创建中...
script <- xml2::xml_new_document() %>%
xml2::xml_add_child("osm-script")
union <- xml2::xml_add_child(script, "union", into = "_")
query <- xml2::xml_add_child(union, "query", type = "way")
script
#> {xml_document}
#> <osm-script>
#> [1] <union into="_">\n <query type="way"/>\n</union>
感谢 Jim Hester 在 xml2 issues page