2016-07-19 19 views
0

Ich verwende R xml2 Paket, um eine Abfrage an die OverpassAPI, die nicht streng xml ist aber sicher funktioniert viel wie es zu schreiben.Lassen Sie die Knotenattribute beim Schließen leer

Ich habe ein Problem, aber, wo das xml2 Paket schreibt Knoten beim Öffnen Attribut und beim Schließen.

# 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="_"> 

Das Attribut into="_" ist beim Öffnen und Schließen des Knotens; Ich bin nicht sehr vertraut mit XML, aber in Überführung mit diesem Attribut macht die Abfrage fehlgeschlagen.

Gibt es eine Möglichkeit, dieses Verhalten zu unterdrücken?

Antwort

1

Unerwartet xml2 ist viel klüger als andere XML-Bibliotheken. Stellt sich heraus, Sie brauchen nicht auf die volle Attributzeichenfolge in der Knoten Erstellung zu setzen ...

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> 

Dank Jim Hester auf die xml2 issues page